Makroyu sadece belirli sayfalarda calistirma

tristanfermat

Altın Üye
Katılım
12 Haziran 2018
Mesajlar
98
Excel Vers. ve Dili
Excel 365
Merhaba
Asagidaki kodu sayfa1 haric diger sayfalarda calistirmak istiyorum. Herhangi bir sayfaya ekleyip calistirdigimda degerler sayfa1'ede geliyor nasil engelleyebilirim?
Tesekkürler

Kod:
Sub Toplamlar()

    Dim i   As Long, _
        t(3) As Double
        
    For i = 2 To Cells(Rows.Count, "A").End(3).Row
    
        If Cells(i, "C") = Date Then t(0) = t(0) + Cells(i, "B")
        
        If (Year(Cells(i, "C")) = Year(Date)) And _
            Application.WorksheetFunction.WeekNum(Cells(i, "C")) = Application.WorksheetFunction.WeekNum(Date) Then _
            t(1) = t(1) + Cells(i, "B")
        
        If (Year(Cells(i, "C")) = Year(Date)) And _
            Month(Cells(i, "C")) = Month(Date) Then _
            t(2) = t(2) + Cells(i, "B")
        
        If (Year(Cells(i, "C")) = Year(Date)) Then t(3) = t(3) + Cells(i, "B")
        
    Next i
    
    Range("F3").Resize(4, 1) = Application.WorksheetFunction.Transpose(t)
    
   Call calistir
    
End Sub

Sub calistir()
Application.OnTime Now + TimeValue("00:00:03"), "Toplamlar"
End Sub
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,678
Excel Vers. ve Dili
Excel 2019 Türkçe
Kodun başlangıç satırına aşağıdaki satırı ekleyebilirsiniz.
Kod:
 if activesheet.name = "Sayfa1" then exit sub
 

tristanfermat

Altın Üye
Katılım
12 Haziran 2018
Mesajlar
98
Excel Vers. ve Dili
Excel 365
Tesekkürler. Söyle bir sorun var ben sayfa1'e gittigim zaman makro kapaniyor ama tekrar diger sayfalara gectigimde calismasi lazim yani tamamen kapanmamasi lazim makronun.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,678
Excel Vers. ve Dili
Excel 2019 Türkçe
Toplamlar makrosunu aşağıdaki sayfa olayına eklerseniz sorun çözülür kanımca. Çalıştır makrosunu neden kullandığınızı anlamadım.
Kod:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
if sh.name = "Sayfa1" then exit sub
 

tristanfermat

Altın Üye
Katılım
12 Haziran 2018
Mesajlar
98
Excel Vers. ve Dili
Excel 365
Makroyu sürekli calisir halde tutmak istiyorum o yüzden kullandim, diger türlü sayfadaki degerler degismiyor sayfa1'den gelen degerler sayfa2'deki A,B,C sütunlarina gidiyor ve sayfa2'de degerler toplamini alip tekrar sayfa1 de D sütununa yazdiriyor yani sayfa2 ya da sayfa3... 'e giden degerler hemen güncellenmeli makro sürekli calismali baska bir yolu var midir?
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,678
Excel Vers. ve Dili
Excel 2019 Türkçe
Verdiğim sayfa olayında da sayfa aktif olduğunda kod çalışıp toplamlar güncellenecektir. Yada süreyi arttırarak birde deneme yapın.
Kod:
Application.OnTime Now + TimeValue("00:00:08"), "Toplamlar"
 
Üst