• DİKKAT

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

Makronun çalışmasını şarta bağlamak

Katılım
10 Kasım 2006
Mesajlar
1,288
Excel Vers. ve Dili
Excel-2016
Arkadaşlar..!

Şöyle bir kod kullanıyorum..
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 6 To Range("A65536").End(3).Row - 1
If Cells(i, 1).Value <> "" Then
Cells(i, 26).Value = "x"
End If
Next
End Sub
Mahiyeti: son dolu satır hariç, kendinden önceki "z" sütunu hücrelerine x atıyor..

Ancak; geri planda devamlı çalıştığı için, işlemi yavaşlatıyor. Buna çözüm olarak If değeri kullansak olur mu? Yani, Eğer kendinden önceki z sütunu hücrelerinde x varsa, kod çalışmasın..Bu ilave yapılabilirse olacak zannediyorum..
 
Arkadaşlar..!

Şöyle bir kod kullanıyorum..

Mahiyeti: son dolu satır hariç, kendinden önceki "z" sütunu hücrelerine x atıyor..

Ancak; geri planda devamlı çalıştığı için, işlemi yavaşlatıyor. Buna çözüm olarak If değeri kullansak olur mu? Yani, Eğer kendinden önceki z sütunu hücrelerinde x varsa, kod çalışmasın..Bu ilave yapılabilirse olacak zannediyorum..

Merhaba
Sayfanın kod bölümündeki kodu silip bununla değiştirir misiniz_?
Kod:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'Konu       :   Son Dolu Hücre Hariç X yaz
'Mail       :   m.batu.1967@gmail.com
'Coder By   :   asi_kral_1967
'Not        :   Kod Düzenlemesi Yapılmıştır
Dim i
Application.EnableEvents = False
If Cells(Range("A" & Rows.Count).End(xlUp).Row - 1, 26) = "" Then
For i = 6 To Range("A" & Rows.Count).End(3).Row - 1
If Cells(i, 1).Value <> "" Then
Cells(i, 26).Value = "x"
End If
Next
End If
Application.EnableEvents = True
End Sub
 
Sayın asi_kral_1967..! Oldu.. Ziyadesiyle teşekkür ederim..Hayırlı çalışmalar..
 
Sn.asi_kral_1967..! Konuya el atmışken, sizi tekrar rahatsız etmek zorunda kaldım.

Yukarıda sözü edilen kodla birlikte aşağıdaki kodu da kullanıyorum.
For i = [Z65536].End(3).Row To 1 Step -1
If Cells(i, "A") = "" Then Cells(i, "Z").ClearContents
Next i
Bunun da mahiyeti: karşılığı olmayan (A sütununda), Z sütunu verilerini siliyor.
Bu kodu If dğerine bağlı olarak yukarıdaki kodla birleştirirsek çok iyi olacak..
 
Sn.asi_kral_1967..! Konuya el atmışken, sizi tekrar rahatsız etmek zorunda kaldım.

Yukarıda sözü edilen kodla birlikte aşağıdaki kodu da kullanıyorum.
Bunun da mahiyeti: karşılığı olmayan (A sütununda), Z sütunu verilerini siliyor.
Bu kodu If dğerine bağlı olarak yukarıdaki kodla birleştirirsek çok iyi olacak..

Sizin kod'unuz ikinci defa döngüye alıyordu
Ben sevmedim ondan bunu veriyorum lütfen deneyin.
Kod:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'Konu       :   Son Dolu Hücre Hariç X yaz
'Mail       :   m.batu.1967@gmail.com
'Coder By   :   asi_kral_1967
'Not        :   Kod Düzenlemesi Yapılmıştır
Dim i
Application.EnableEvents = False
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
If Target = "" Then Cells(Target.Row, "Z") = ""
If Cells(Range("A" & Rows.Count).End(xlUp).Row - 1, 26) = "" Then
For i = 6 To Range("A" & Rows.Count).End(3).Row - 1
If Cells(i, 1).Value <> "" Then
Cells(i, 26).Value = "x"
End If
Next
End If
Application.EnableEvents = True
End Sub
 
Hocam..! uygulamış olduğum örneği ekliyorum.. Nedense çalışmadı, bir bakabilir misiniz..
 

Ekli dosyalar

Hocam..! uygulamış olduğum örneği ekliyorum.. Nedense çalışmadı, bir bakabilir misiniz..

Merhaba
Eki inceleyiniz
Not :
1 - Siz Selection'a yazmışsınız kodu Change'de olmalı
2 - Z sütunu temizleyin ve kodu deneyin. Kod eski verileri silecek yeni işlem yaparsanız x işareti atacaktır.
 

Ekli dosyalar

Sn.asi_kral_1967..! Bir türlü çalıştıramadım.. Nerde hata yaptığımı bilemiyorum.
Kodu bir düğmeye atayarak denedim, ilk satırda "object required" diye bir hata veriyor..
Yani, 1 ve 2.açıklamalarınız gerçekleşmiyor. Fakat revize edilmemiş ilk kodlar çalışıyor..
Kod aslında, change veya SelectionChange olsun, her ikisinde de çalışması lazım..
Her neyse, seni yormayacağım. Eninde sonunda sebebi karşıma çıkar..
 
Sn.asi_kral_1967..! Bir türlü çalıştıramadım.. Nerde hata yaptığımı bilemiyorum.
Kodu bir düğmeye atayarak denedim, ilk satırda "object required" diye bir hata veriyor..
Yani, 1 ve 2.açıklamalarınız gerçekleşmiyor. Fakat revize edilmemiş ilk kodlar çalışıyor..
Kod aslında, change veya SelectionChange olsun, her ikisinde de çalışması lazım..
Her neyse, seni yormayacağım. Eninde sonunda sebebi karşıma çıkar..

Dosyada ne gibi işlem yapıyorsunuz.
Yada ne şekilde hata alıyorsunuz söylerseniz bakabilirim.
Ben deniyorum hiç bir şekilde hata vermiyor.
 
Geri
Üst