• DİKKAT

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

excel'de hücreye girilen değere göre hücre atlama

Katılım
8 Nisan 2013
Mesajlar
6
Excel Vers. ve Dili
MS Excel 2007 Türkçe
Merhaba,
Bir tablom var, şöyle bir sorunum var. Yardımcı olursanız sevinirim.

Enter'a basılınca cursor sağa geçecek şekilde ayarladım. A1 hücresine 1 girilip entera basınca b1'e geçiyor(sorun yok). 2 girdiğimde f5 e geçmesi için;

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$A$1" And Target > 1 Then [F5].Select
End Sub

şeklinde bir kod kopyaladım. Bu durum 1. satır için oluyor ama diğer satırlara uygulayamadım.Bunu nasıl diğer satırlara otomatik uygulayabilirim.

Yani. a2=2 ise f2 ye, a3=2 ise f3' e otamatik cursoru nasıl zıplatabilirim.

Teşekkürler.
 
Sadece bu durumlarda mı uygulanacak yoksa belirli bir kuralı olup da A sütunundaki her hücre için mi uygulanacak? Şartlarınız pek benzeşmediği için ne istediğinizi çözemedim.
 
Eğer sadece verdiğiniz şartlar geçerliyse aşağıdaki kodları kullanabilirsiniz:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$A$1" And Target > 1 Then [F5].Select
If Target.Address = "$A$2" And Target = 2 Then [F2].Select
If Target.Address = "$A$3" And Target = 2 Then [F3].Select

End Sub

eğer A sütunundaki herhangi bir hücreye hücre değeri 1'den büyükse aynı hizadaki F sütununa geçmek istiyorsanız aşağıdaki kodu kullanabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, Range("A:a")) And Target > 1 Then Target.Offset(0, 5).Select
End Sub
 
Yusuf Hocam verdiğiniz kod işe yarıyor teşekkürler fakat diğer sütunları da etkilemiş durumunda. Örneğin, H1 hücresine 2 girersem de M1 hücresine gönderiyor. Bunun nasıl sadece o sütunda kalmasını sağlayabiliriz? Bu arada yaptığım tablo 3000 satırdan oluşuyor.
 
Şunu dener misiniz:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, Range("A:a")) Is Nothing Then Exit Sub
If Target > 1 Then Target.Offset(0, 5).Select
End Sub
 
Yusuf Hocam çok teşekkürler, kod çalışıyor, çok işime yaradı. Son olarak bir şey daha sorayım. Aynı sayfada, bu kodu başka bir sütun için uygulayamadım. Yani kod A1 hücresine 2 girilince F1 hücresine gönderiyor. Bunu aynı zamanda G1 den L1 hücresine göndermek için kodu nasıl revize edebilirim. Yeni bir değişken mi tanımlamak gerekiyor. İlginiz için çok teşekkürler.
örnek:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, Range("A:a")) Is Nothing Then Exit Sub
If Target > 1 Then Target.Offset(0, 5).Select

'If Intersect(Target1, Range("G:g")) Is Nothing Then Exit Sub
'If Target1 > 1 Then Target1.Offset(0, 5).Select
End Sub
 
Şunu dener misiniz?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, Range("A:a, g:g")) Is Nothing Then Exit Sub
If Target > 1 Then Target.Offset(0, 5).Select
End Sub
 
Hocam çok teşekkürler, bu kod çalışıyor. Size zahmet verdim ama şöyle küçük bir sorunum var. A sütunundan sonra 5, G sütunundan sonra 6 sütun boş bırakmam gerekiyor. Ne yapabilirim?
 
Beceremedim maalesef :(
 
tamamdır saolun, çok teşekkürler
 
Geri
Üst