Kısa Açıklama
Excel VBA Kod Çakışması Sorununu Çözme isimli başlıkta, ilgili işlemlere dair detaylar yer almaktadır.- Excel Versiyonu
- Excel 2016
- Excel Sürümü
- 64 Bit
- Excel Dili
- Türkçe
Merhaba
Worksheet change olayında kullandığım kodun, yine aşağıya yazdığım içerik temizle makrosu ile çakışması söz konusudur. Butona atadığım içerik temizle makrosunu çalıştırdığım zaman worksheet change kodundaki (If Target.Row > 46 And Target.Value <> "" Then) satırına işaret etmekte ve hata vermektedir.Bunun önüne geçmenin bir yöntemi varmıdır?
Kullanılan kodlar:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 46 And Target.Value <> "" Then
MsgBox "Sadece 45 satırda işlem yapabilirsiniz. "
Target.Value = Empty
Exit Sub
End If
say = WorksheetFunction.CountIf(Range("a2:a46"), Target)
If say > 1 Then
MsgBox "BU ÜRÜN DAHA ÖNCE LİSTEYE YAZILMIŞ.", vbCritical, "OBSESYONUR"
Target.Select
Target = ""
End If
End Sub
Sub iceriktemizle()
Range("A2:B45").Select
Selection.ClearContents
Range("A2").Select
End Sub
Worksheet change olayında kullandığım kodun, yine aşağıya yazdığım içerik temizle makrosu ile çakışması söz konusudur. Butona atadığım içerik temizle makrosunu çalıştırdığım zaman worksheet change kodundaki (If Target.Row > 46 And Target.Value <> "" Then) satırına işaret etmekte ve hata vermektedir.Bunun önüne geçmenin bir yöntemi varmıdır?
Kullanılan kodlar:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 46 And Target.Value <> "" Then
MsgBox "Sadece 45 satırda işlem yapabilirsiniz. "
Target.Value = Empty
Exit Sub
End If
say = WorksheetFunction.CountIf(Range("a2:a46"), Target)
If say > 1 Then
MsgBox "BU ÜRÜN DAHA ÖNCE LİSTEYE YAZILMIŞ.", vbCritical, "OBSESYONUR"
Target.Select
Target = ""
End If
End Sub
Sub iceriktemizle()
Range("A2:B45").Select
Selection.ClearContents
Range("A2").Select
End Sub
Ekli dosyalar