• DİKKAT

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

Sadece Değişen Hücre ile Güncelleme

Katılım
23 Şubat 2010
Mesajlar
90
Excel Vers. ve Dili
Excel 2007/ İngilizce
Herkese Merhaba,

Öğrenmek istediğim şey kısaca şöyle: çalıştığım excel dosyasının bir sütununa faaliyette bulunduğumuz ülker giriliyor. Hemen yan sütununda da o ülkenin hangi kıtada olduğu yazılıyor.

Ben bunu makro ile otomatik hale getirmek istedim ve 20 ülke ve bu ülkelerin bulunduğu kıtaları yazdım.

Amacım ise Ülke Sütunundaki herhangi hücre değiştiğinde SADECE o satırdaki kıta adı yenilensin. (mümkünse döngü kullanılmadan)

Elimdeki liste epey uzun ve bilgisayarlar yavaş olduğu için olabildiğince kısa ve hızlı bir çözüm arıyorum. Kendimce yaptığım bir çalışmada döngülerle denemeye çalıştım ama epey yavaşlama oldu.

Ekte kabaca bir örnek çalışma var. Yardımcı olursanız memnun olurum.
 

Ekli dosyalar

Sayfanın kod kısmına ekleyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Set s = Columns(4).Find(Target.Text)
    If Not s Is Nothing Then Cells(Target.Row, Target.Column + 1) = Cells(s.Row, 5)
End Sub
 
Worksheet_Change

Hamitcan,
Çok teşekkürler. Denedim çalışıyor.

Hazır yeri gelmişken Worksheet_Change ile ilgili de birşey sormak istiyorum.

Aşağıda gördüğün gibi bir kod var elimde. Ben hazırladım ama istediğim tam olarak şöyleydi: Örneğin F sütunu değişirse, "Module.beyaz" çalışsın; K sütunu değişirse de "Module.atama" çalışsın.

Kısaca sormak istediğim birden fazla koşul olması durumunda, bu koşulları nasıl ayrı çalıştırabiliriz.

Tekrardan teşekkürler.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Set y = Application.Union(Sheets("Follow Up").Range("F3", Sheets("Follow Up").Range("F65536").End(xlUp)), _
Sheets("Follow Up").Range("k3", Sheets("Follow Up").Range("k65536").End(xlUp)))

If Intersect(Target, y) Is Nothing Then Exit Sub

Application.EnableEvents = False
Application.Run "Module1.beyaz"
Application.Run "Module1.atama"
Application.EnableEvents = True
Sheets("Follow Up").Select
End Sub
 
Case satırlarını çoğaltarak istediğinizi yapabilirsiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
    Case Is = 6: beyaz
    Case Is = 11: atama
    ...
    ...
End Select
End Sub
 
Case satırlarını çoğaltarak istediğinizi yapabilirsiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
    Case Is = 6: beyaz
    Case Is = 11: atama
    ...
    ...
End Select
End Sub

Yardım için teşekkürler, sorun çözüldü.
 
Geri
Üst