• DİKKAT

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

Hücrede rakamların soluna sabit kod gelmesi

  • Konbuyu başlatan Konbuyu başlatan mars2
  • Başlangıç tarihi Başlangıç tarihi

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
617
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
İyi Haftasonular;
Tablomun K sutuna hesap kodu gireceğim, ancak hesap kodunu girince sol tarafına girdiğim her hücrede sol tarafına AB00 kodu otomatik eklenmesini istityorum.

Örnek:
K15 hücresine 688 girdiğimde hücrede AB006488 oarak gözükmesimi istiyorum.
 
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect([K:K], Target) Is Nothing Then Exit Sub
Cells(Target.Row, "L") = "AB00" & Target.Value
End Sub
 
Sayın Askm;
İlginze teşekkürker, yazdığınız kod K sutunda hesap kodunıu (6688) yazınca L sutunda (AB006688) vermekte ancak benim istediği aynı hücre
Örneğin K15 hücresinde ; 6688 yazdığımda, K15 hücresinin AB006688 olarak çıkmasını istemekteyim.
 
Cells(Target.Row, "L") = "AB00" & Target.Value satırını
Target.value = "AB00" & Target.Value olarak değiştirin.
 
İyi Günlerer;
verdiğiniz kodu değiştirme me rağmen excel uygulamsı Miscrosoft excel çalışlmayı durdurdu mesajı ile excel kapanmaktadır.
 
Bu şekilde veri girilen hücrelerde değişiklik yapan sayfa olaylarına bağlı kodlar hücre her değiştiğinde tekrar çalışır. Bu da sonsuz döngüye neden olur.

Örneğin verdiğiniz örnekte K15 hücresine 688 girdiğinizde kod bunu AB00688 olarak değiştirir. ancak bu hücrenin değiştiği anlamına geldiği için tekrar kod çalışır ve AB00AB00688 yapar, tekrar değişmiş olduğu için yine çalışır ve AB00AB00AB00688 yapar ... böylece sonsuza kadar devam eder.

Bu durumu engellemek için eğer kodumuzun başında bir hedef belirtmişsek ve kodumuz bu hedefte örneğinizdeki gibi değişiklik yapıyorsa, değişiklikten önce sayfa olaylarını geçici olarak durdurmalıyız.

Bu açıklamalar ışığında kodun son hali şöyle olmalıdır:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect([K:K], Target) Is Nothing Then Exit Sub
If Target <> "" Then
    [COLOR="Red"]Application.EnableEvents = False[/COLOR]
    Target = "AB00" & Target
    [COLOR="red"]Application.EnableEvents = True[/COLOR]
End If
End Sub
 
Sayın YUSUF44
Açıklamalarınız ve cevabınız çiğn teşekkürler.
 
Geri
Üst