Excel Forum
 
 

Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk

DUYURU SİSTEMİ

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz



Yanıtla
 
Konu Araçları Görünüm Modları
Eski 09-02-2010, 16:12   #1
peleryn
 
peleryn kullanıcısının avatarı
 
Giriş: 09/05/2009
Bölüm: Fethiye/Muğla
Mesaj: 852
Excel Vers. ve Dili:
2003 türkçe
Varsayılan 11'e kalansız bölünen sayıların a değerine atanması

Herkese Merhabalar;

100 ile 1.000.000 arasındaki 11'e kalansız bölünebilen sayıları döngüye sokmak istiyorum.

For a=1 to 10 gibi bir ifadeyi nasıl a=100 ile 1.000.000 arasındaki 11'e kalansız bölünenler olarak yazabilirim?

Yardımcı olan olursa sevinirim..
peleryn Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-02-2010, 16:24   #2
Evren Gizlen
Uzman
 
Evren Gizlen kullanıcısının avatarı
 
Giriş: 01/03/2005
Mesaj: 13,585
Excel Vers. ve Dili:
Windows-XP_TR Ofis-2003_TR
Varsayılan

Çalışması ne kadar sürer bilemem.
Kod:
Application.ScreenUpdating = False
Range("A1:E65536").Clear
For i = 100 To 1000000
    If i / 11 = Int(i / 11) Then
        sat = sat + 1
        Cells(sat, "A").Value = i
        Cells(sat, "B").Value = 11
        Cells(sat, "C").Value = i / 11
    End If
Next
Application.ScreenUpdating = True
MsgBox "işlem bittti"
__________________
FORUM KURALLARI

Kod anlatılmaz yazılır.
DİKKAT .: Kodları çalıştırmadan önce dosyanın bir yedeğini almanız daha doğru olacaktır.


www.excel.web.tr UZMAN
www.excelce.net/forum/index.php YÖNETİCİ
Evren Gizlen Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-02-2010, 16:28   #3
uzmanamele
Uzman
 
uzmanamele kullanıcısının avatarı
 
Giriş: 26/09/2007
Bölüm: Süleyman Özyüksel / Ankara
Mesaj: 6,485
Excel Vers. ve Dili:
excel 2003 / excel 2007
Varsayılan

merhaba

alternatif olsun

Kod:
Sub onbireböl()
Range("a:a").ClearComments
y = 0
For i = 100 To 1000000
If i Mod 11 = 0 Then
y = y + 1
Cells(y, 1) = i
End If
Next
End Sub
__________________



Türk genci, İnkılapların ve rejimin sahibi ve bekçisidir.
Atatürk
uzmanamele Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-02-2010, 16:37   #4
omerceri
 
omerceri kullanıcısının avatarı
 
Giriş: 06/02/2005
Bölüm: Gökova/Akyaka
Mesaj: 1,102
Varsayılan

bir alternatifte benden
Sub a()
For i = 11 To 1000000 Step 11

say = Range("c1").CurrentRegion.Rows.Count
Range("c" & say + 1).Value = i
Next
End Sub
__________________
(Excel 2003 - Türkçe)
omerceri Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-02-2010, 16:40   #5
peleryn
 
peleryn kullanıcısının avatarı
 
Giriş: 09/05/2009
Bölüm: Fethiye/Muğla
Mesaj: 852
Excel Vers. ve Dili:
2003 türkçe
Varsayılan

Evren ve uzmanamele hocalarım çözümleriniz için teşekkür ederim..Her iki kod da 65536 sınırına dayanınca runtime 1004 hatası verdi ve sayfa yetmediği için durdu.Zaten sırf bu sorunu yaşamamak için öyle bir kod soruyorum ki bu kod bu sayısal değerleri 1 to 10 'a step verirmişiz gibi onbire bölünen sayılar olarak algılasın ve atamayı direkt yapsın.

Örneğin A1 hücresinde her next adımında sadece 11 e bölünebilen bir sayı dönsün..umarım anlatabilmişimdir.
peleryn Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-02-2010, 16:44   #6
peleryn
 
peleryn kullanıcısının avatarı
 
Giriş: 09/05/2009
Bölüm: Fethiye/Muğla
Mesaj: 852
Excel Vers. ve Dili:
2003 türkçe
Varsayılan

Sn omerceri size de teşekkür ederim..İhtiyacım çok basit birşeymiş sadece Step 11'i almam yeterli oldu.Sorunumu hallettim herkese ilgisi için teşekkür ediyorum.
peleryn Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-02-2010, 16:51   #7
Evren Gizlen
Uzman
 
Evren Gizlen kullanıcısının avatarı
 
Giriş: 01/03/2005
Mesaj: 13,585
Excel Vers. ve Dili:
Windows-XP_TR Ofis-2003_TR
Varsayılan

Alıntı:
peleryn tarafından gönderildi Mesajı Görüntüle
Evren ve uzmanamele hocalarım çözümleriniz için teşekkür ederim..Her iki kod da 65536 sınırına dayanınca runtime 1004 hatası verdi ve sayfa yetmediği için durdu.Zaten sırf bu sorunu yaşamamak için öyle bir kod soruyorum ki bu kod bu sayısal değerleri 1 to 10 'a step verirmişiz gibi onbire bölünen sayılar olarak algılasın ve atamayı direkt yapsın.

Örneğin A1 hücresinde her next adımında sadece 11 e bölünebilen bir sayı dönsün..umarım anlatabilmişimdir.
Anlamadım.
11 e bölünen ne kadarsa o kadar olması gayet doğal.Taşabilirde.
yani o sayılar 11 e tam bölünen sayılar değilmi?Ben sorunuzdan bir şey anlamadım.
__________________
FORUM KURALLARI

Kod anlatılmaz yazılır.
DİKKAT .: Kodları çalıştırmadan önce dosyanın bir yedeğini almanız daha doğru olacaktır.


www.excel.web.tr UZMAN
www.excelce.net/forum/index.php YÖNETİCİ
Evren Gizlen Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-02-2010, 16:51   #8
uzmanamele
Uzman
 
uzmanamele kullanıcısının avatarı
 
Giriş: 26/09/2007
Bölüm: Süleyman Özyüksel / Ankara
Mesaj: 6,485
Excel Vers. ve Dili:
excel 2003 / excel 2007
Varsayılan

Alıntı:
peleryn tarafından gönderildi Mesajı Görüntüle
Evren ve uzmanamele hocalarım çözümleriniz için teşekkür ederim..Her iki kod da 65536 sınırına dayanınca runtime 1004 hatası verdi ve sayfa yetmediği için durdu.Zaten sırf bu sorunu yaşamamak için öyle bir kod soruyorum ki bu kod bu sayısal değerleri 1 to 10 'a step verirmişiz gibi onbire bölünen sayılar olarak algılasın ve atamayı direkt yapsın.

Örneğin A1 hücresinde her next adımında sadece 11 e bölünebilen bir sayı dönsün..umarım anlatabilmişimdir.
merhaba

bu işinizi görür mü?
Kod:
Sub onbireböl()
Range("a:b").ClearComments
y = 0
a = 1
For i = 100 To 1000000
If i Mod 11 = 0 Then
y = y + 1
If y = 65536 Then
y = 1
a = 2
End If
Cells(y, a) = i
End If
Next
End Sub
100 ile 1.000.000 arasında 90.900 adet 11'e bölünen sayı olduğu için ilk kodlar hata verebilir.
ben excel 2007 de denediğim için ilk kodda hata mesajı almamıştım
__________________



Türk genci, İnkılapların ve rejimin sahibi ve bekçisidir.
Atatürk
uzmanamele Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-02-2010, 18:08   #9
peleryn
 
peleryn kullanıcısının avatarı
 
Giriş: 09/05/2009
Bölüm: Fethiye/Muğla
Mesaj: 852
Excel Vers. ve Dili:
2003 türkçe
Varsayılan

Sn Hocalarım alternatif olarak verilen tüm kodlar işimi görüyor çok teşekkür ediyorum.İhtiyacım olan 11'e bölünebilen tüm sayıları listelemek değil her next adımında sırayla sayıları değil 11 e bölünebilen sayıları döngüde çalıştırabilmekti.

Bu kodları einstein'ın üç yıl üzerinde çalışıp çözemediği iddia edilen aşağıdaki sorunun çözümü için kullanmam gerekiyordu.

Alıntı:
Eski zamanlarda bir yumurta tüccarı varmış. Yumurta toptancısına gidip bir miktar yumurta almak istemiş. Toptancı ona ne kadar yumurta istediğini sormuş. O da cevaplamış: - Hmm ne kadar yumurta istediğimi tam olarak bilmiyorum ama 100'den fazla olacağı kesin. Yumurtalarımı ikişer ikişer satarsam bana bir yumurta kalsın Yumurtalarımı üçer üçer satarsam gene bana bir yumurta kalsın. Yumurtalarımı dörder dörder satınca da bana bir yumurta kalsın. Beşer beşer altışar altışar yedişer yedişer sekizer sekizer dokuzar dokuzar onar onar satsam da hep bana bir yumurta kalsın Ama demiş onbirer onbirer satarsam bana yumurta kalmasına gerek yok! Toptancı başlamış mal mal düşünmeye Sizce yumurtacı toptancıdan en az kaç yumurta almak istemiş?
Çözüm için yardımlarınızdan sonra kullandığım kodun son hali aşağıdaki gibidir.

İlgilerinize teşekkür ederim.

Alıntı:
Sub einstein()
For i = 110 To 1000000 Step 11
[a1] = i
If i Mod 2 = 1 And i Mod 3 = 1 And i Mod 4 = 1 _
And i Mod 5 = 1 And i Mod 6 = 1 And i Mod 7 = 1 _
And i Mod 8 = 1 And i Mod 9 = 1 And i Mod 10 = 1 Then Exit Sub
Next
End Sub

Bu mesaj en son " 09-02-2010 " tarihinde saat 20:01 itibariyle peleryn tarafından düzenlenmiştir.... Neden: kod düzeltme
peleryn Çevrimdışı   Alıntı Yaparak Cevapla
Eski 15-02-2010, 13:05   #10
uzmanamele
Uzman
 
uzmanamele kullanıcısının avatarı
 
Giriş: 26/09/2007
Bölüm: Süleyman Özyüksel / Ankara
Mesaj: 6,485
Excel Vers. ve Dili:
excel 2003 / excel 2007
Varsayılan

merhaba

Alıntı:
...einstein'ın üç yıl üzerinde çalışıp çözemediği iddia edilen aşağıdaki sorunun çözümü için kullanmam gerekiyordu.
=OKEK(2;3;4;5;6;7;8;9;10)*10+1=25.201

ben Albert Einstein'den daha zeki olmadığıma göre O bu problemi 2 dakika içersinde çözebilirdi.
__________________



Türk genci, İnkılapların ve rejimin sahibi ve bekçisidir.
Atatürk
uzmanamele Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 03:05


Bu forum Çorlu WEB - www.elitnet.com.tr tarafından sunulmaktadır.

Dost Site : İlköğretim - Toplu SMS - Göz - Kreş - Rotary - Lions - Trakya İş Dünyası - Trakya Su Arıtma - Çorlu - Çorlu Mobilya - Çorlu WEB - Çorlu KPSS - Çorlu Fotokopi
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden
Özel Arama