• DİKKAT

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

kod bazen çalışmıyor.

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,042
Excel Vers. ve Dili
2013 Türkçe
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b2:b53")) Is Nothing Then Exit Sub
x = Range("c100").End(3).Row + 1
Range("c" & Range("c100").End(3).Row + 1) = ActiveCell.Value
End Sub
Arkadaşlar merhaba. Yukarıda yazılı kod bazen çalışıyor bazen çalışmıyor. istediğim B2:B53 aralığına tıkladığımda c sütununda son satıra yazsın.
 

Ekli dosyalar

Merhaba,
Bu şekilde denediniz mi? Yoksa ben mi soruyu yanlış anladım?
Kod:
Private Sub Worksheet_[COLOR="Red"][B]SelectionChange[/B][/COLOR](ByVal Target As Range)
If Intersect(Target, Range("b2:b53")) Is Nothing Then Exit Sub
x = Range("c100").End(3).Row + 1
Range("c" & Range("c100").End(3).Row + 1) = ActiveCell.Value
End Sub
 
Teşekkürler Sn irfancantr.
Siz soruyu doğru anlamışsınız. Ben yanlış yapıyormuşum.
 
Bir sorum olacaktı.

aynı sayfada birden fazla kullanılabiliyor mu?

Merhaba,
Tam olarak nasıl bir şey istediğinizi anlayamadığım için iki alternatif.

d hücresinde yazılı olanları e hücresine yazdırıyor.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("b2:b53")) Is Nothing Then [COLOR="red"][B]GoTo iki[/B][/COLOR]
x = Range("c100").End(3).Row + 1
Range("c" & Range("c100").End(3).Row + 1) = ActiveCell.Value
[COLOR="red"][B]iki:[/B][/COLOR]
If Intersect(Target, Range("d2:d53")) Is Nothing Then Exit Sub
y = Range("e100").End(3).Row + 1
Range("e" & Range("e100").End(3).Row + 1) = ActiveCell.Value
End Sub

Burada da c ve d sütunların da bulunan verileri e sütununa aktarım yapıyor.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("b2:b53,[COLOR="Red"][B]c2:c53[/B][/COLOR]")) Is Nothing Then Exit Sub
x = Range("d100").End(3).Row + 1
Range("d" & Range("d100").End(3).Row + 1) = ActiveCell.Value
End Sub
 
Son düzenleme:
Sn irfancantr, teşekkür ederim. Yazmış olduğunuz ilk kod işimi görüyor. Mantığını anladım. Eğer bir sayfada 100 farklı işlem yapılacaksa hep bu kalıbı mı kullanacağız?
 
Sn irfancantr, teşekkür ederim. Yazmış olduğunuz ilk kod işimi görüyor. Mantığını anladım. Eğer bir sayfada 100 farklı işlem yapılacaksa hep bu kalıbı mı kullanacağız?

Merhaba,

Benim bildiğim yöntem bu ama forum da araştırma yaparsanız daha kısa kodların olabilir.
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Arkadaşlar bu kalıp bir sayfada sadece 1 kez mi kullanılabiliyor? Her aralık için 6 nolu mesajdaki ilk kalıbı mı kullacağız?
 
Arkadaşlar bu kalıp bir sayfada sadece 1 kez mi kullanılabiliyor? Her aralık için 6 nolu mesajdaki ilk kalıbı mı kullacağız?

Merhaba,

Küçük bir örnek:
Bu mantıkla yapabilirsiniz.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    If Intersect(Target, [A1:A5,C2:C5,F12:F21,Z6:Z15]) Is Nothing Then Exit Sub
    
   [COLOR=green] 'A sütunu sütun indisi 1
[/COLOR]    If Target.Column = 1 Then
       [COLOR=green] 'kodlarınız
[/COLOR]    End If
        
   [COLOR=green] 'C sütunu sütun indisi 3
[/COLOR]    If Target.Column = 3 Then
        [COLOR=green]'kodlarınız
[/COLOR]    End If
    
   [COLOR=green] 'F sütunu sütun indisi 6
[/COLOR]    If Target.Column = 6 Then
        [COLOR=green]'kodlarınız
[/COLOR]    End If
 
[COLOR=green]    '[/COLOR]
[COLOR=green]    '[/COLOR]
[COLOR=green]    '
[/COLOR]    
End Sub
.
 
Sn Ömer çok teşekkür ederim. Verdiğiniz kalıbı koda uyguladım çalıştı.
 
Geri
Üst