Makroyu tüm sütun için uygulamak

Katılım
8 Mart 2018
Mesajlar
14
Excel Vers. ve Dili
2010 ve Office 365

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,747
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Target.Value = "Almanya" Then Target.Offset(0, 1).Value = "Yok"
    Application.EnableEvents = True
End Sub
 
Katılım
8 Mart 2018
Mesajlar
14
Excel Vers. ve Dili
2010 ve Office 365
Deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Target.Value = "Almanya" Then Target.Offset(0, 1).Value = "Yok"
    Application.EnableEvents = True
End Sub
Dediğiniz çalışıyor. Ama hemen bir yanında ki hücre sütun için değil de bir iki hücre sütun sonrası için ne yapmalıyım? örneğin A1-B1 için değilde A1-B3 için nasıl yazmam gerekir?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Sayın AYHAN'ın verdiği kod'da Offset(0, 1) kısmındaki sayılarda değişiklikler yaparak kod'un işleyişini anlayabilir,
olması gereken sayıları kendiniz tespit edebilirsiniz bence.

İpucu: sayılardan biri kaç satır sonrasına, diğeri kaç sütun sonrasına işlem yapılacağını belirliyor.

Kolay gelsin.
 
Katılım
8 Mart 2018
Mesajlar
14
Excel Vers. ve Dili
2010 ve Office 365
Merhaba.

Sayın AYHAN'ın verdiği kod'da Offset(0, 1) kısmındaki sayılarda değişiklikler yaparak kod'un işleyişini anlayabilir,
olması gereken sayıları kendiniz tespit edebilirsiniz bence.

İpucu: sayılardan biri kaç satır sonrasına, diğeri kaç sütun sonrasına işlem yapılacağını belirliyor.

Kolay gelsin.

Peki bunu sadece bir kaç sütun için yapmak istersem ne yapmam gerekiyor?

Çok sağolun hocam. Forum sayesinde çok şey öğrendim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,747
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Sütun tanımlaması için aşağıdaki yapıyı kullanabilirsiniz.

Sadece "A" sütunundaki hücreler değiştiğinde çalışır. Örnek A1 değişince B1 hücresine "Yok" yazar.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Target.Value = "Almanya" Then Target.Offset(0, 1).Value = "Yok"
    Application.EnableEvents = True
End Sub
Aşağıdaki kod ise "A ve D" sütunlarındaki hücreler değiştiğinde çalışır. Örnek A1 değişince B1 hücresine "Yok" yazar. D1 hücresi değişince E1 hücresine "Yok" yazar.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A:A,D:D")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Target.Value = "Almanya" Then Target.Offset(0, 1).Value = "Yok"
    Application.EnableEvents = True
End Sub
 
Üst