Kod çalışmıyor

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Arkadaşlar selam.
Aşağıdaki kodlarla, hem enter tuşuna basarak istediğimiz hucrelere gidiyorum hem belirli aralıktaki sütunlara girdiğim rakamların üzerine toplama yapıyorum hem de belirli aralıktaki yazıları büyük harfe çeviriyordum.
Sorunum, case satırlarında.
Daha önce case is 8 satırına kadardı ve sorun yoktu. Ben 9 ve 10. satırları ekledim. 9. satırdan sonra 3 hücre ileri gidiyor ama sonra 2 hücre ileri gitmesi gerekirken, hemen bir alt hücreye geçiyor.
Umarım anlatabilmişimdir.
Şimdiden teşekkürler.
Kodlar şöyle:

Private Sub Worksheet_Change(ByVal Target As Range)

Select Case Target.Column

Case Is = 1: Target.Offset(, 2).Select
Case Is = 2: Target.Offset(, 1).Select
Case Is = 3: Target.Offset(, 1).Select
Case Is = 4: Target.Offset(, 1).Select
Case Is = 5: Target.Offset(, 1).Select
Case Is = 6: Target.Offset(, 1).Select
Case Is = 7: Target.Offset(, 2).Select
Case Is = 8: Target.Offset(, 1).Select

Case Is = 9: Target.Offset(, 3).Select
Case Is = 10: Target.Offset(, 2).Select

Case Is = 11: Target.Offset(1, -9).Select

Case Else
End Select

Application.EnableEvents = False
On Error Resume Next
If Target <> UCase(Replace(Replace(Target, "i", "İ"), "ı", "I")) Then Target = UCase(Replace(Replace(Target, "i", "İ"), "ı", "I"))
Application.EnableEvents = True
If Intersect(Target, [L4:L5000, N4:N5000]) Is Nothing Then Exit Sub
ilk = [Z1]
If [Z1] = "" Then Exit Sub
[Z1] = "": Target.Value = Target.Value + ilk

If Intersect(Target, Range("C4:E5000")) Is Nothing Then Exit Sub




End Sub
 

Ö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.

► Alt taraftan ilgili sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
► Varsa; sayfanın kod bölümünde önceden var olan aşağıdaki kod bloklarını tamamen silin.
-- Private Sub Worksheet_SelectionChange
-- Private Sub Worksheet_Change

► Açılan VBA ekranında sağdaki alana aşağıdaki kodların TÜMÜNÜ yapıştırın.
Kod 4 ve sonraki satırlarda işlem yapar.
.
Kod:
[B][COLOR="blue"]Private Sub Worksheet_SelectionChange(ByVal Target As Range)[/COLOR][/B]
If Selection.Count > 1 Then Exit Sub
If Intersect(Target, [L4:L5000, N4:N5000]) Is Nothing Then Exit Sub
    [Z1] = Target.Value
[B][COLOR="blue"]End Sub

Private Sub Worksheet_Change(ByVal Target As Range)[/COLOR][/B]
If Target.Row < 4 Or Selection.Count > 1 Then Exit Sub

k = Target.Column

If k = 1 Or k = 7 Or k = 10 Then Target.Offset(, 2).Select
If k = 2 Or k = 3 Or k = 4 Or k = 5 Or k = 6 Or k = 8 Then Target.Offset(, 1).Select
If k = 9 Then Target.Offset(, 3).Select
If k = 11 Then Target.Offset(1, -9).Select
If k = 12 Or k = 14 Then
    If Not IsNumeric(Target.Value) Or Not IsNumeric([Z1]) Then Exit Sub
    ilk = [Z1]
    If [Z1] = "" Then Exit Sub
    [Z1] = "": Target = Target + ilk
End If
Application.EnableEvents = False
On Error Resume Next
If Target <> UCase(Replace(Replace(Target, "i", "İ"), "ı", "I")) Then _
    Target = UCase(Replace(Replace(Target, "i", "İ"), "ı", "I"))
Application.EnableEvents = True
[B][COLOR="Blue"]End Sub[/COLOR][/B]
 

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
İlginize ve emeğinize teşekkür ederim. Yalnız sütun atlarken, son olarak 3 sütun atlıyor ve L sütununa veri girdikten sonra başa dönmüyor ve bir alt satıra geçiyor.
 

Ö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.
Verdiğim kod'da If k=..... şeklinde yer alan satırlarda;
k değeri sütun numarasını (A >>1, B>>2, C>>3 ....gibi) gösteriyor.
Bence; kaç numaralı sütundan sonra kaç sütun sağa geçileceğini veya aşağı geçileceğini kendiniz istediğiniz şekilde ayarlayabilirsiniz.

Ayarlayamazsanız; herbir sütun için nereye geçileceğini sütun adları belirterek tek tek açıklayın (aşağıdaki gibi) kod'da gerekli düzenleme yapılır.
-- A sütunu için 1 sağa,
-- C sütunu için 2 sağa,
-- K sütunu için 1 alta, 5 sola
vs.

.
 

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Tamamdır Ömer Bey..
Dediğiniz mantıkla sorunu çözdüm..
Tekrar tekrar teşekkürler..
 
Üst