• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makroyu pasife çekme

Katılım
20 Ocak 2020
Mesajlar
247
Excel Vers. ve Dili
Office 2016 TR 64 Bit
Merhabalar günaydın herkese. Koşullu biçimlendirme ile "satır()=hücre("sat")" formülü ile satır renklendirmesi yapıyorum ayrıca kodu tetiklemesi için de aşağıdaki formülü kullanıyorum.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Application.CutCopyMode = False Then

Application.Calculate

End If

End Sub

Benim yapmak istediğim bu makroyu nasıl pasif hale getirebilirim.
 
Merhaba,

Amacınız makroyu istediğiniz zaman durdurup çalıştırmak ise Boolean bir değer tanımlayıp kullanabilirsiniz.

C++:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Kontrol = True Then Exit Sub
    If Application.CutCopyMode = False Then
        Application.Calculate
    End If
End Sub

Boş bir modüle aşağıdaki kodu uygulayın.

C++:
Public Kontrol As Boolean

Sub Durdur()
    Kontrol = Not Kontrol
End Sub

Sonra sayfanıza bir buton ekleyip DURDUR makrosunu atayın. Butona ilk tıkladığınızda makronun çalışması duracaktır. Buton tekrar tıklarsanız makronuz tekrar devreye girecektir.
 
Merhaba

Çok kullanışlı olmaz.
Sadece sayfayı incelerken işe yarar.
Veri girişinde Kendiliğinden tetiklendiği için yine satır renklenir.

Bunun yerine Kod ile koşullu biçimlendirme formülü ekleyip silerseniz daha iyi olur.


C++:
Public k As Byte
C++:
Private Sub ToggleButton1_Click()
If ToggleButton1 = True Then
k = 1
Else: k = 0
End If
End Sub
C++:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If k = 0 Then Exit Sub
If Application.CutCopyMode = False Then
Application.Calculate
End If
End Sub
 
Merhaba,

Amacınız makroyu istediğiniz zaman durdurup çalıştırmak ise Boolean bir değer tanımlayıp kullanabilirsiniz.

C++:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Kontrol = True Then Exit Sub
    If Application.CutCopyMode = False Then
        Application.Calculate
    End If
End Sub

Boş bir modüle aşağıdaki kodu uygulayın.

C++:
Public Kontrol As Boolean

Sub Durdur()
    Kontrol = Not Kontrol
End Sub

Sonra sayfanıza bir buton ekleyip DURDUR makrosunu atayın. Butona ilk tıkladığınızda makronun çalışması duracaktır. Buton tekrar tıklarsanız makronuz tekrar devreye girecektir.
Çok teşekkür ederim Korhan hocam elinize sağlık
 
Merhaba

Çok kullanışlı olmaz.
Sadece sayfayı incelerken işe yarar.
Veri girişinde Kendiliğinden tetiklendiği için yine satır renklenir.

Bunun yerine Kod ile koşullu biçimlendirme formülü ekleyip silerseniz daha iyi olur.


C++:
Public k As Byte
C++:
Private Sub ToggleButton1_Click()
If ToggleButton1 = True Then
k = 1
Else: k = 0
End If
End Sub
C++:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If k = 0 Then Exit Sub
If Application.CutCopyMode = False Then
Application.Calculate
End If
End Sub
Çok teşekkür ediyorum hocam elinize sağlık
 
Ben de şöyle bir mantık uyguluyorum bu gibi durumlarda.
Bir hücre örneğin A1 hücresi boş ise makro çalışır, dolu ise makro çalışmaz.
kodların başına if [A1] <> "" then exit sub eklendiğinde yeterli oluyor.
 
Ben de şöyle bir mantık uyguluyorum bu gibi durumlarda.
Bir hücre örneğin A1 hücresi boş ise makro çalışır, dolu ise makro çalışmaz.
kodların başına if [A1] <> "" then exit sub eklendiğinde yeterli oluyor.
Aslında mantığı çok basitmiş, çok teşekkür ederim Necdet hocam
 
Geri
Üst