• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Döngüde hata

Katılım
8 Haziran 2007
Mesajlar
401
Excel Vers. ve Dili
excel fonksiyonlar
Forumda emeği geçen herkese merhaba. AA5:AA16 ve AA32:AA43 aralığında 1 den 12 ye kadar sıralı değerlerim var. Derdim AA32:AA43 aralığındaki verilerin sağındaki değerleri yukardaki tabloya aktarmaktı. Aşağıdaki kodlarda sistemin 1 ve 10 rakamını seçemediğini farkettim. Tabloları altalta değil de yanyana koyduğumda da aynı sonucu verdi. Bunun sebebi nedir anlayamadım. Yardımcı olabilir misiniz.
Sadeleştirilmiş haliyle kodlar Kodlar şöyle :

Dim a As Integer
For a = 32 To 32
Range("AA32:AA43").Select
Selection.Find(Cells(a, "AA")).Select
Next a
Bu haliyle AA41'i seçiyor. Range("AA32:AA43").Select kısmında 43'ü 32 den itiberen teker teker değiştirerek denediğimde seçim doğru. Ne zaman ki 10 değerine geldim yani Range("AA32:AA41").Select yazdım seçim seçim AA41 oluyor.Oysa AA32 olması lazım. Umarım derdimi anlatabilmişimdir. İlgilenen arkadaşlara şimdiden teşekkürler.
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Sorunuzu kısıtlı zamanda okuyup, değerlendirip, anlayıp, uygulamaya koymak için yeterli düzeyde açıklayıcı değil.

Hadi anladık diyelim kodları yazmak için veriye gereksinim var, o veriyi de soruyu çözen arkadaşım mı hazırlasın?

Örnek dosya ile sorunuzu destekleyiniz lütfen.
 
Merhaba,

Sorunuzu kısıtlı zamanda okuyup, değerlendirip, anlayıp, uygulamaya koymak için yeterli düzeyde açıklayıcı değil.

Hadi anladık diyelim kodları yazmak için veriye gereksinim var, o veriyi de soruyu çözen arkadaşım mı hazırlasın?

Örnek dosya ile sorunuzu destekleyiniz lütfen.

Aynı mesaja bir çalışma kitabı ekledim hocam.
 
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim a As Integer
    For a = 32 To 32
    Range("AA32:AA43").Select
    Selection.Find(Cells(a, "AA")[COLOR=red], , , xlWhole[/COLOR]).Select
    Next a
End Sub
 
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim a As Integer
    For a = 32 To 32
    Range("AA32:AA43").Select
    Selection.Find(Cells(a, "AA")[COLOR=red], , , xlWhole[/COLOR]).Select
    Next a
End Sub

Korhan hocam bu şekliyle çalıştı. Çok teşekkür ederim.Yalnız bunun neden böyle
olduğunu kavramam lazım. Sorun sutunun renkli olmasından mı kayaklanıyor. Eğer öyleyse değiştirmem mümkün. İlginiz için tekrar teşekkürler. İyi geceler. :)
 
Selamlar,

FIND komutunu kullanırken benim eklediğim kırmızı bölümü belirtmezseniz "İÇERİR" şeklinde arama yapar. Dolayısı ile siz 1 değerini aradığınızda ilk olarak 10 değerini buluyor. Bu tarz aramalarınızda eğer birebir eşleşme gerekiyorsa benim belirttiğim eklemeyi kullanmak durumundasınız.
 
Geri
Üst