Makroları belirtilen hücredeki sayı kadar tekrarlayarak otomatik çalıştırma

Katılım
20 Haziran 2021
Mesajlar
10
Excel Vers. ve Dili
2021
Merhaba,

Makro konularında yeniyim. Şöyle bir ihtiyactım var;

"Grafik" isimli grafik çizen ve bu çizimi PDF olarak kaydeden "PDF" isimli iki adet makrom var. Ama veriler çok ve her seferinde bir Grafik butonuna sonra PDF butonuna basmam gerekiyor.
Tekrarlı basmak için yeni makro yazıp,
Run("Grafik")
Run("PDF")
Run("Grafik")
Run("PDF")
Run("Grafik")
Run("PDF")

şeklinde kaç defa yazmışsam o adette tekrar ediyor.

Ama ben gösterdiğim hücrede yazan sayı değeri kadar bu iki makroyu sırayla ard arda çalıştırsın istiyorum. Misal bu hücre "STRAIGHT" isimli excel sekmesindeki W4 hücresi olsun. Böyle bir makro kodu nasıl olabilir?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Sub Test()
    Dim X As Byte
   
    For X = 1 To Sheets("STRAIGHT").Range("W4").Value
        Application.Run "'" & ThisWorkbook.Name & "'!Grafik"
        Application.Run "'" & ThisWorkbook.Name & "'!PDF"
    Next
End Sub
 
Katılım
20 Haziran 2021
Mesajlar
10
Excel Vers. ve Dili
2021
Çok güzel çalıştı. Teşekkür ederim.

Ama şimdi atladığım bir konu başka bir ihtiyaç doğurdu. Ben W4 hücresindeki sayıyı başka bir sekmesindeki A sütunundaki veri sayısını =BAĞ_DEĞ_DOLU_SAY('Br2'!$A:$A) ile saydırarak bulduruyordum. Fakat her grafik çiziminde bu sütundaki veri 1 eksiliyor. Sonra sayma formülü =BAĞ_DEĞ_DOLU_SAY('Br2'!#BAŞV!) buna dönüyor ve sayamıyor. Yukarıdaki çalışan makronun başına "Br2" sekmesindeki A sütununda bulunan veri sayısının 1 eksiği kadar(ilk satırında başlık olduğu için) toplam dolu hücre sayısı hesaplayıp bu sayıyı Makromdaki "Grafik" ve "PDF" tekrar sayısı olarak nasıl atayabilirim?
 
Katılım
29 Eylül 2023
Mesajlar
1
Excel Vers. ve Dili
2019 Türkçe
Deneyiniz.

C++:
Option Explicit

Sub Test()
    Dim X As Byte
  
    For X = 1 To Sheets("STRAIGHT").Range("W4").Value
        Application.Run "'" & ThisWorkbook.Name & "'!Grafik"
        Application.Run "'" & ThisWorkbook.Name & "'!PDF"
    Next
End Sub
Hocam merhaba bu soruya istinaden kendi dosyamla ilgili bir soru sorayım. Kodda W4 te yazan sayi kadar makro tekrar edecek. Ben kendi dosyamda butonla satir ekle islemi yapiyorum. Şimdi butona basinca W4 teki sayi kadar makro tekrar edecek. Makronun sonunda ise W4 e otomatik olarak 1 yazılmasıni istiyorum. Tekrar etme kismini yukarida koddan kopya cekerek anladim. Makro sonlanmadan W4 e nasil 1 yazdiririz
 
Üst