Bir for next sorusu da benden...

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
404
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Arkadaşlar merhaba,
sayfa = Array(D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20)

Böyle bir dizi var.Bir de "yaz" makromuz var. Bunu nasıl uyarlayacağım???
Teşekkür ederim...
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Belirtiğiniz aralıkta YAZDIRMA işlemi gerçekleşecekse, bence For Next döngüsüne gerek yok. Aşağıdaki kod işlem görür.

Sub Düğme1_Tıklat()
[a1:g28].PrintOut
End Sub
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
404
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Seyit Bey,
D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20 adında yirmi adet sayfa var. Bu dizide de yazma görevini
application.Run " yaz"
şeklinde gerçekleştirecek...
Soruyu ilk sorarken sanırım eksik tanımlama yapmışım, özür dilerim...

Not:Mümkünse konuyu adım adım öğrenmiş olmak için bunu dizi tanımlamalı yapmak istiyorum...
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Ben dizileri hücre olarak anladım. Aşağıdaki kod kitapta bulunan bütün sayfaları yazdırır.

Sub Düğme1_Tıklat()
For a = 1 To Sheets.Count
Sheets(a).PrintOut
Next
End Sub
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
404
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Çalışma kitabımdaki sayfaların sayısı otuzun üzerinde.Ben yapmaya çalıştığım döngüyü sadece
sayfa = Array(D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20)
dizisinde uygulayacağım.
Bu dizide döngüyü uygulayacak ancak sayfalardaki yazdırma görevi şarta bağlı olduğu için "yaz" makrosu tanımladım.
Her sayfada [AK1]>0 şartını arayacak. Bu şartı "yaz" makrosunun içinde tanımladım zaten...
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
404
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
son hali...

sayfa = Array("D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11", "D12", "D13", "D14", "D15", "D16", "D17", "D18", "D19", "D20")
For a = 0 To 19

Sheets(sayfa(a)).PrintOut
Next

Arkadaşlar,
son satırdaki printout görevinin yerinde "notfisi" adlı makroyu uygulasın istiyorum.Bu haliyle sorunsuz olarak tüm dizideki sayfaları yazdırabiliyorum. Dizide yazdırmak istediğim sayfaları "notfisi" makrosu içinde tanımladım...
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
404
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Çözüme ulaşıldı...

Biraz uğraştırdı ama sonunda oldu...İlgilenen arkadaşlara teşekkür ederim.
 
Üst