• DİKKAT

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

E sutünü verilerine göre kopyalama

Katılım
11 Kasım 2004
Mesajlar
80
Aşağıdaki makroyu kullanmaya çalışıyorum

Dim aa As Range, bb As Range
With Sheets("Stok")
Set aa = .Range(.Range("I4"), .Range("I" & Rows.Count).End(xlUp))
End With
With CreateObject("scripting.dictionary")
.CompareMode = vbTextCompare
For Each bb In aa
If bb(, 1) > 0 Then .Item(bb.Value) = bb.Value
Next
Sheets("Sonuç").Range("B3").Resize(.Count) = Application.Transpose(.keys)
End With

Bu kodun e stünündaki değerlerin 0 dan büyük olması durumunda kopyalama yaptırmasını nasıl sağlarım?
 
Selamlar,

Vermiş olduğunuz koddaki aşağıdaki satır içindeki kırmızı değeri 5 olarak değiştiriniz.

Kod:
If bb(, [COLOR=red]1[/COLOR]) > 0 Then .Item(bb.Value) = bb.Value
 
Selamlar,

Vermiş olduğunuz koddaki aşağıdaki satır içindeki kırmızı değeri 5 olarak değiştiriniz.

Kod:
If bb(, [COLOR=red]1[/COLOR]) > 0 Then .Item(bb.Value) = bb.Value

Sn Korhan Ayhan,

Şart verileri A sütunundayken ve kod:
Kod:
If bb(, [COLOR=red]1[/COLOR]) > 0 Then .Item(bb.Value) = bb.Value
şeklindeyken makro sorunsuz çalışıyor. Ancak;

Şart verileri E sütununa taşınıp kod:
Kod:
If bb(, [COLOR=red]5[/COLOR]) > 0 Then .Item(bb.Value) = bb.Value
yapılınca makro "Run-time error '13': type mismatch" hatası veriyor.

Bu sorunu nasıl aşarım?
 
Selamlar,

Pardon yanlış bölümü belirtmişim. Aşağıdaki koddaki kırmızı bölümleri "E" olarak değiştirip deneyin.

Kod:
Set aa = .Range(.Range("[COLOR=red]I[/COLOR]4"), .Range("[COLOR=red]I[/COLOR]" & Rows.Count).End(xlUp))
 
Selamlar,

Pardon yanlış bölümü belirtmişim. Aşağıdaki koddaki kırmızı bölümleri "E" olarak değiştirip deneyin.

Kod:
Set aa = .Range(.Range("[COLOR=red]I[/COLOR]4"), .Range("[COLOR=red]I[/COLOR]" & Rows.Count).End(xlUp))

Sorunu iyi açıklayamadım. Aslında I'lar doğru.

İçinde açıklama yaptığım bir örnek ekledim. Tekrar değerlendirmenizi rica ederim.
 

Ekli dosyalar

Selamlar,

Kodunuzdaki aşağıdaki satırı;

Kod:
bb(, 5)

Aşağıdaki şekilde değitirp denermisiniz.

Kod:
bb.Offset(0, -4)
 
Selamlar,

Kodunuzdaki aşağıdaki satırı;

Kod:
bb(, 5)

Aşağıdaki şekilde değitirp denermisiniz.

Kod:
bb.Offset(0, -4)

Sn Korhan Ayhan, önerdiğiniz değişikliğin uygulanması sonucunda makro düzgün şekilde çalıştı. İlginiz için teşekkür ederim.
 
Geri
Üst