• DİKKAT

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

Makro ile otomatik sıra no vermek

Katılım
1 Eylül 2007
Mesajlar
387
Excel Vers. ve Dili
2003 Türkçe
Sitemizden bulduğum ve kendime uyarlamaya çalıştığım örnekte C sütununa veri girdikçe A sütununda satırbaşına otomatik sıra no veriyor..
Benim istediğim ise bir alt satırda hazır duruma gelsin!...
Yardımlarınızı bekliyorum..
Saygılarımla..
 

Ekli dosyalar

Sitemizden bulduğum ve kendime uyarlamaya çalıştığım örnekte C sütununa veri girdikçe A sütununda satırbaşına otomatik sıra no veriyor..
Benim istediğim ise bir alt satırda hazır duruma gelsin!...
Yardımlarınızı bekliyorum..
Saygılarımla..

Merhaba,

Kodları aşağıdakilerle değiştirin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, Range("C2:C" & Rows.Count)) Is Nothing Then Exit Sub
    
    On Error Resume Next
 
    With Target
        .Offset(0, -2) = .Row - 1
        .Offset(1, -2) = .Row
    End With
    
End Sub

İstediğiniz bu mu?

.
 
Sn. Uzman'ım evet istediğim gibi teşekkürler..
Yalnız önceki makro seçip aşağı kopyaladığımda otomatik numara veriyordu,bunda enter yapınca veriyor;revize edilebilir mi?
 
Sn. Uzman'ım evet istediğim gibi teşekkürler..
Yalnız önceki makro seçip aşağı kopyaladığımda otomatik numara veriyordu,bunda enter yapınca veriyor;revize edilebilir mi?

Yazdığınız kodlara küçük değişiklik yapmak yeterli olacaktır. Değişiklikler kırmızı ile işaretlendi.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("C2:C" & Rows.Count)) Is Nothing Then Exit Sub
    Range("A2:A" & Rows.Count).ClearContents
    With Range("A2:A" & Cells(Rows.Count, "C").End(3).Row[COLOR=red] + 1[/COLOR])
        .Formula = "=IF(C2="""",[COLOR=red]COUNTA(C$2:C2)+1[/COLOR],COUNTA(C$2:C2))"
        .Value = .Value
    End With
End Sub
 
Allah razı olsun Sn. Uzman'ım;sayenizde bilgim çoğalıyor,işlerim kolaylaşıyor..
 
Yazdığınız kodlara küçük değişiklik yapmak yeterli olacaktır. Değişiklikler kırmızı ile işaretlendi.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("C2:C" & Rows.Count)) Is Nothing Then Exit Sub
    Range("A2:A" & Rows.Count).ClearContents
    With Range("A2:A" & Cells(Rows.Count, "C").End(3).Row[COLOR=red] + 1[/COLOR])
        .Formula = "=IF(C2="""",[COLOR=red]COUNTA(C$2:C2)+1[/COLOR],COUNTA(C$2:C2))"
        .Value = .Value
    End With
End Sub
Hocam emeğine sağlık ancak C1 hücresi aslında başlık hücresi ve veri girilmiyor.sonuçta C1herzaman dolu ve a2 hücreside doğal olarak 1 sıra numarasını alıyor .acaba c1 hücresine değilde c2 hücresiner veri girildiğinde a2 hücresi 1 sıra numarasını veremezmi ?.Ve ek olarak hocam c2 hücresi veri girişi yapıldığında A2 hücresi 1 sıra numarası alırken A3 hücreside C3 hücresi boş olmasına rağmen 2 sıra numarasını alıyor.Bu durumda A3 hücresi boş kalamazmı ?

Emeğinize sağlık bu haliyle bile mükemmel ama ihtiyaca binayen affınıza sığınarak konuya girdim.Saygılarımla
 
#2 numaralı mesajdaki kodu kullanabilirsiniz.

Kod daki;

.Offset(1, -2) = .Row

satırını silerseniz istediğiniz olacaktır.

Yada #1 numaralı mesajda dosyadaki kodları kullanabilirsiniz.
 
Geri
Üst