• DİKKAT

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

Makroyu tüm sütun için uygulamak

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
 
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?
 
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.
 
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.
 
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
 
Geri
Üst