Makroda döngü

Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Arkadaşlar makro ile Z3 hücresindeki değere göre aşağıdaki listede karşılık gelen hücre aralığını seçtirmek istiyorum. Bunu IF ve ELSEIF komutlarıyla uzun uzun kod yazmak yerine bir döngüye sokarak yapmam mümkün mü ?

Z3 hücresi 1 ise O16:W33
Z3 hücresi 2 ise BR16:BZ33
Z3 hücresi 3 ise DU16:EC33
Z3 hücresi 4 ise FX16:GF33
Z3 hücresi 5 ise IA16:II33
Z3 hücresi 6 ise KD16:KL33
Z3 hücresi 7 ise MG16:MO33
Z3 hücresi 8 ise OJ16:OR33
Z3 hücresi 9 ise QM16:QU33
Z3 hücresi 10 ise SP16:SX33
Z3 hücresi 11 ise US16:VA33
Z3 hücresi 12 ise WV16:XD33
Z3 hücresi 13 ise YY16:ZG33
Z3 hücresi 14 ise ABB16:ABJ33
Z3 hücresi 15 ise ADE16:ADM33
Z3 hücresi 16 ise AFH16:AFP33
Z3 hücresi 17 ise AHK16:AHS33
Z3 hücresi 18 ise AJN16:AJV33
Z3 hücresi 19 ise ALQ16:ALY33
Z3 hücresi 20 ise ANT16:AOB33
Z3 hücresi 21 ise APW16:AQE33
Z3 hücresi 22 ise ARZ16:ASH33
Z3 hücresi 23 ise AUC16:AUK33
Z3 hücresi 24 ise AWF16:AWN33
Z3 hücresi 25 ise AYI16:AYQ33
Z3 hücresi 26 ise BAL16:BAT33
Z3 hücresi 27 ise BCO17:BCW33
Z3 hücresi 28 ise BER16:BEZ33
Z3 hücresi 29 ise BGU16:BHC33
Z3 hücresi 30 ise BIX16:BJF33
Z3 hücresi 31 ise BLA16:BLI33
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Baran hocam zahmet olmazsa verdiğiniz kodu açıklayabilir misiniz ? Cells(16, ([Z3] - 1 neyi ifade ediyor *55 +15 +23 ne demek oluyor. Bunları açıklarsanız çok sevinirim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Verdiğiniz adreslerin sütun numaralarındaki ritimi tespit ettim ve buna göre cevap yazdım.
Başlangıç sütun numarası : Z3'ten 1 çıkartıp bulunan sonuca 15 ekleyince,
Bitiş sütun numarası : Başlangıç sütun numarasından 8 sonraki sütun (başlangıç için eklenen 15+8=23),
55 sayısı: İki başlangıç sütun numarası arasındaki fark 55. Yani sütun numarası bakımından ritim 55.
Satır numaraları: Zaten belli idi 16 ve 33.

Yani olay sütun nmaraları arasındaki matematiksel ilişkinin tespit edilmesidir.
.
 
Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Hocam açıklamanız için çok teşekkür ederim. Verdiğiniz kodu kendime göre uyarlamaya çalıştım ancak debug hatası verdi acaba bir yerde hata mı yaptım bakabilir misiniz ?

Syf = CStr(Sheets("Veri").[Z2])
hcr = CStr(Sheets("Veri").[Z3])
Sheets("Veri").Range("N9:V26").Copy

Sheets(Syf).Range(Cells(16, (hcr - 1) * 55 + 15), Cells(33, (hcr - 1) * 55 + 23)).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Cevabımın altındaki İMZA bölümünü okuyunuz.
 
Üst