Satır Say

aligunes

Altın Üye
Katılım
2 Mart 2005
Mesajlar
304
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
09-06-2025
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As Long
If Intersect(Target, Range("b16:b65536")) Is Nothing Then Exit Sub
For i = 16 To Range("b65536").End(3).Row
If Cells(i, 2).Value = "" Then
Cells(i, 1).Value = ""
Else
s = s + 1
Cells(i, 1).Value = s
End If
Next i
End Sub

Yukardaki kod 16. sutundan başlayarak b sutunu doluysa a sutununa numara vererek aşağı doğru sayıyor. Bu kodu şu şekilde nasıl yazabiliriz B sutunu dolu ise A sutununa sayı vererek sayacak B boş ise satırı atlayarak sayacak satır birleştirilmiş hücre ise saymaya bir alt satırdan devam edecek
 

aligunes

Altın Üye
Katılım
2 Mart 2005
Mesajlar
304
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
09-06-2025
listeye sıra numarası vermek için kullanacağım ancak arada bazı sutunlar birleştirilmiş şekilde sayarken bu sutunları atlasın istiyorum
 

aligunes

Altın Üye
Katılım
2 Mart 2005
Mesajlar
304
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
09-06-2025
ÖRNEK DOSYA EKTEDİR.
 

Ekli dosyalar

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
#1 nolu mesajdaki kodları dosyanıza uyguladım. Doğru çalışıyor gibi geldi.
Araya yeni satırlar ekliyorum. Satırları birleştiriyorum. Doğru şekilde A kolonuna sıra numaralarını yazıyor.
Hata işlemleri görebileceğimiz, kodların da olduğu daha yardımcı olacak bir örnek kullanmalısınız.

.
 

aligunes

Altın Üye
Katılım
2 Mart 2005
Mesajlar
304
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
09-06-2025
#1 nolu mesajdaki kodları dosyanıza uyguladım. Doğru çalışıyor gibi geldi.
Araya yeni satırlar ekliyorum. Satırları birleştiriyorum. Doğru şekilde A kolonuna sıra numaralarını yazıyor.
Hata işlemleri görebileceğimiz, kodların da olduğu daha yardımcı olacak bir örnek kullanmalısınız.

.
birleştirilmiş hücredeki yazıyı siliyor kod çalıştırıldığında
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    son = Cells(Rows.Count, "B").End(3).Row
    sec = Selection.Address
    If Intersect(Target, Range("B20:B" & son)) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    say = 1
    For i = 20 To son
        Cells(i, "A").Select

        If Selection.Address Like "*:*" Then GoTo satıratla

        If Cells(i, "B") = "" Then
            Cells(i, "A") = ""
        Else
            Cells(i, "A") = say
            say = say + 1
        End If
satıratla:
    Next i

    Range(sec).Select
    Application.ScreenUpdating = True
End Sub
.
 

aligunes

Altın Üye
Katılım
2 Mart 2005
Mesajlar
304
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
09-06-2025
.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    son = Cells(Rows.Count, "B").End(3).Row
    sec = Selection.Address
    If Intersect(Target, Range("B20:B" & son)) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    say = 1
    For i = 20 To son
        Cells(i, "A").Select

        If Selection.Address Like "*:*" Then GoTo satıratla

        If Cells(i, "B") = "" Then
            Cells(i, "A") = ""
        Else
            Cells(i, "A") = say
            say = say + 1
        End If
satıratla:
    Next i

    Range(sec).Select
    Application.ScreenUpdating = True
End Sub
.
eline sağlık kod çalışıyor.
 
Üst