Tetiklemede bir hata

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Merhaba hocalarımız

Örnek dosyada Anasayfadaki sarı butonu çalıştırınca hiç sorunsuz sayfada görülen neticeyi alıyorum.

Fakat buradan çıkan verileri, Rapor sayfasında, başka butonlar için kullanmam gerektiğinden, Rapor sayfasındaki, mavi butona tetikletmek istedim.

Çok açık bir şekilde ifade etmem gerekirse, önce sarı butonun basılmış olması gerekiyor ki; Rapor sayfasındaki diğer düğmeler bu verileri işleyebilsin.

İşte ben de Rapor sayfasındaki butonların en üstüne şu satırı yazdım.

Sheets("ANASAYFA").CommandButton1.Value = True


Oluyor ama Anasayfada oluşması gereken SONUÇLAR adındaki başlık Rapor sayfasında oluşuyor. Oysa böyle bir şey olmaması lazım.

Yani sarı düğmeye direkt basınca sorun yok
Ama mavi düğmeyle çalıştırılınca bir sorun var. Bu sorunu nasıl çözebiliriz
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Module1 deki kodları aşağıdaki ile değiştirin.

Kod yazarken biraz düzene ihtiyacınız var.
En önemlisi değişken adlarını anlamlı yapın ve mutlaka tanımlayın.

Kod:
Sub sonuclari_son_sutuna_dok()
    Dim SyfAna As Worksheet
    Dim XDa As Long, XDu As Long, XD As Long, Dolu As Long
    Dim Alan As String
    
    Set SyfAna = ThisWorkbook.Sheets("ANASAYFA")
    XDa = SyfAna.Cells(Rows.Count, 1).End(xlUp).Row
    XDu = SyfAna.Cells(1, Columns.Count).End(xlToLeft).Column + 1
    
    If WorksheetFunction.CountIf(SyfAna.[1:1], "SONUÇLAR") > 0 Then
        XDu = XDu - 1
        Columns(XDu).ClearContents
    End If
    
    Cells(1, XDu) = "SONUÇLAR"
    
    For XD = 2 To XDa
        Alan = Range(Cells(XD, 2), Cells(XD, XDu - 1)).Address
        Dolu = WorksheetFunction.CountIf(SyfAna.Range(Alan), "<>")
        If Dolu = 0 Then
            SyfAna.Cells(XD, XDu) = "1 İYİ"
        ElseIf Dolu < XDu - 2 Then
            SyfAna.Cells(XD, XDu) = "2 ORTA"
        ElseIf Dolu = XDu - 2 Then
            SyfAna.Cells(XD, XDu) = "3 KÖTÜ"
        End If
    Next
    SyfAna.Range(SyfAna.Cells(2, 1), SyfAna.Cells(XDa, XDu)).Sort SyfAna.Cells(1, XDu), 1 'Son sütuna göre sıralar
End Sub
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Değerli Hocam benim kod bilgim yok denecek kadar az. Daha önce edinmiş olduğum kodlardan biriydi.
Emeğinize sağlık. Teşekkürler.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Rica ederim. Kolay gelsin.
 
Üst