• DİKKAT

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

Activecell.offset Hatası

kadir78

Altın Üye
Katılım
6 Nisan 2016
Mesajlar
227
Excel Vers. ve Dili
office 2019
İyi günler. Çalışma sayfasında bazı hücrelerin kilit özelliğini kaldırıp, diğer hücreleri biçim menüsünden sayfa koruma işlemi yapıyorum. Kilidi kaldırılmış hücreleri fare ve klavye ile seçebiliyorum. Kilitli hücreleri ise fare ve klavye ile seçemiyorum. Buraya kadar herşey düzgün fakat Activecell.offset makro kodu kilitli hücreleri seçiyor. Bana lazım olan ise Activecell.offset kodu kilitli hücreleri seçmesin.

Örnek : A1 - C1 - E1 - G1 hücereleri kilitli açılmış ve normalde fare ve klavye ile seçebiliyorum. Klavye ile A1 hücresinden C1 hücresine ok tuşları ile geçiş yapıyor. A1 hücresi aktif iken Activecell.offset(0, 1).Select kodu ile C1 hücresine geçmesini istiyorum B1 hücresine geçiyor. Kilitli olan hücreleri seçmesin istiyorum fakat seçiyor. Bu konuda bana yardımcı olur musunuz.

Örnek Dosya : http://www.dosya.tc/server10/cc4hgv/Deneme.rar.html
 
Son düzenleme:
Sayın Hocalarım. Yukarıdaki konu için epey bir araştırma yaptım ve aşağıdaki kodları oluşturdum fakat bir sorun var çözemedim. Application.SendKeys "{RIGHT}" makro kodu ile işime yaradı fakat Etiket sayfasında değilde Bilgiler sayfasında çalışıyor. Birçok kod denedim fakat başaramadım. Noktalar ile işaretlediğim yere yüzlerce kod denedim olmadı. Lütfen yardımcı olur musunuz.

Kod:
Sub Aktar()

If Worksheets("Bilgiler").Range("E1").Value = "" Then
Else
Worksheets("Etiket").Select
a = Sheets("Bilgiler").[C1] & "-" & Sheets("Bilgiler").[E1]
Sheets("Etiket").Select
ActiveCell.Value = a
Sheets("Etiket").Activate
[COLOR="Red"]..........................................[/COLOR]
Application.SendKeys "{RIGHT}"
Worksheets("Bilgiler").Select
End If

If Worksheets("Bilgiler").Range("F1").Value = "" Then
Else
Worksheets("Etiket").Select
a = Sheets("Bilgiler").[C1] & "-" & Sheets("Bilgiler").[F1]
Sheets("Etiket").Select
ActiveCell.Value = a
Sheets("Etiket").Activate
[COLOR="red"].....................................[/COLOR]
Application.SendKeys "{RIGHT}"
Worksheets("Bilgiler").Select
End If

End Sub
 
Merhabalar;
A1 hücresinden C1 hücresine geçmek için ActiveCell.Offset(0, 2).Select kullanabilirsiniz. Kodlardaki fazladan olan sayfa seçme satırlarını kaldırdım. Bu şekilde dener misiniz, çalışmanız için uygun mu?
Kod:
Sub Aktar()
Application.ScreenUpdating = False
If Worksheets("Bilgiler").Range("E1").Value <> "" Then
Worksheets("Etiket").Activate
a = Sheets("Bilgiler").[C1] & "-" & Sheets("Bilgiler").[E1]
ActiveCell.Value = a
ActiveCell.Offset(0, 2).Select
Worksheets("Bilgiler").Activate
End If

If Worksheets("Bilgiler").Range("F1").Value <> "" Then
Worksheets("Etiket").Select
a = Sheets("Bilgiler").[C1] & "-" & Sheets("Bilgiler").[F1]
Sheets("Etiket").Select
ActiveCell.Value = a
ActiveCell.Offset(0, 2).Select
Worksheets("Bilgiler").Select
End If
Application.ScreenUpdating = True
End Sub

Eğer Application.SendKeys "{RIGHT}" olarak kullanmak isterseniz; kodları bu şekilde kullanabilirsiniz ama Sadece Etiket Sayfasındayken çalıştırmanız gerekiyor.
Kod:
Sub Aktar()
If Worksheets("Bilgiler").Range("E1").Value <> "" Then
a = Sheets("Bilgiler").[C1] & "-" & Sheets("Bilgiler").[E1]
ActiveCell.Value = a
Application.SendKeys "{RIGHT}"
End If

If Worksheets("Bilgiler").Range("F1").Value <> "" Then
a = Sheets("Bilgiler").[C1] & "-" & Sheets("Bilgiler").[F1]
ActiveCell.Value = a
Application.SendKeys ("{RIGHT}")
End If
End Sub
 
Çok teşekkür ederim. İşime yaradı. İyi günler.
 
Son düzenleme:
Merhaba,
Rica ederim, iyi çalışmalar.
 
Geri
Üst