Değerin başına 0 eklemek.

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ben eklediğim örnek dosyada deneme yaptığımda bahsettiğiniz sorunla karşılaşmadım.

Dur penceresinde ESC ile çıkılıdığında koşul işlemeden giriş yapılabiliyor .(veri / doğrulama / ayarlar / metin uzunluğu / en fazla:6) nasıl durudurabiliriz.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Dur penceresinde ESC ile çıkılıdığında koşul işlemeden giriş yapılabiliyor .(veri / doğrulama / ayarlar / metin uzunluğu / en fazla:6) nasıl durudurabiliriz.
merhaba

veri doğrulamada esc ile koşulu iptal edemezsiniz!
olsa olsa (ki bu yöntemde pek yanılmam) veri doğrulamada "hata uyarısı" seçeneğini farkında olmadan "dur" yerine "uyarı" olarak değiştirmişsinizdir.
esc yerine enter yapmış olmalısınız.
başka ihtimal olası değil.
 
Katılım
29 Kasım 2007
Mesajlar
332
Excel Vers. ve Dili
Office2003
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("D7:D65536")) Is Nothing Then Exit Sub
    On Error GoTo Son
   Application.EnableEvents = False
   Target.NumberFormat = "@"
    Target = Format(Target.Value, "100000")
Son:
    Application.EnableEvents = True
End Sub
D Sütünunu Metin olarak format değişikliğine gidiyor.İşlem doğru olarak yapılıyor fakat kopyala-yapıştır yapıldığı zaman Sayı, Tarih gibi diğer format biçimleri otomatik olarak Metin olarak dönüştürülüyor. Satır sil gibi işlemlerde aynı sorun oluşuyor. Nasıl bir yol izlenebilir.
Teşekkürler.
İyi çalışmalar.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

İki kontrol ekleyerek bu problemi aşabilirsiniz. Mesajınızdaki kod yerine aşağıdaki kodları uygulayın.

Kod:
Dim Kontrol As Boolean
 
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Kontrol = True Then Exit Sub
    If Intersect(Target, Range("D7:D65536")) Is Nothing Then Exit Sub
    On Error GoTo Son
    Application.EnableEvents = False
    Target.NumberFormat = "@"
    Target = Format(Target.Value, "100000")
Son:
    Application.EnableEvents = True
End Sub
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Application.CutCopyMode = xlCopy Or Application.CutCopyMode = xlCut Then
        Kontrol = True
    Else
        Kontrol = False
    End If
End Sub
 
Katılım
29 Kasım 2007
Mesajlar
332
Excel Vers. ve Dili
Office2003
İlminize sağlık on numara olmuş.Sorun çözüme kavuşmuştur.
Teşekkürler.
 
Üst