• DİKKAT

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

Dolu hücreye göre sıra no verme

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Merhaba hayırlı geceler.

Ekte gönderdiğim excel dosyamdaki kod bir türlü sonuç vermedi.

Yapmak istediğim C sütunundaki dolu hücreye göre sıra numarası vermek istiyorum, ama olmadı. Yardımcı olur musunuz?

Kod:
Sub SıraNo()
Sheets("Sayfa1").Range("A3:A" & Sheets("Sayfa1").Range("C65536").End(3).Row).ClearContents
With Sheets("Sayfa1").Range("A3:A" & Sheets("Sayfa1").Range("C65536").End(3).Row)
    .Formula = "=Row()-2"
    .Value = .Value
End With
End Sub
 

Ekli dosyalar

Rich (BB code):
Sub SıraNo()
Sheets("Sayfa1").Range("A3:A" & Sheets("Sayfa1").Range("A65536").End(3).Row).ClearContents
With Sheets("Sayfa1").Range("A3:A" & Sheets("Sayfa1").Range("C65536").End(3).Row)
    .Formula = "=Row()-2"
    .Value = .Value
End With
End Sub
şeklinde uygulayıp deneyin.
 
Sayın turist, bütün sorularıma bıkmadan usanmadan cevap verdiniz, sizden Allah razı olsun.

Kod bilmeyince böyle oluyor, bir harf bu işlere neden oluyor işte.
 
Veya
Kod:
Sub SıraNo()
Sheets("Sayfa1").Range("A3:A65536").ClearContents
For i = 3 To Sheets("Sayfa1").Range("c65536").End(3).Row
Sheets("Sayfa1").Cells(i, 1) = i - 2
Next i
End Sub
 
Sayın turist, bütün sorularıma bıkmadan usanmadan cevap verdiniz, sizden Allah razı olsun.

Kod bilmeyince böyle oluyor, bir harf bu işlere neden oluyor işte.
Sağolun.
İyi dilekerinize teşekkür ederim. Hepimizden Allah razı olsun.
 
Bu kod daha kısa ve anlaşılır oldu, çok teşekkür ediyorum.
 
Daha kısa da olabilir.
Kod:
Sub SıraNo()
[A3:A65536] = Empty
son = [C65536].End(3).Row
For i = 3 To son
Cells(i, 1) = i - 2
Next i
End Sub
 
Sayın turist, evet bu kod daha kısa oldu, bu daha iyi. Çok teşekkür ediyorum.
 
Önemli not:
Bu şekildeki kod, sadece bu sayfada doğru çalışır, yani butona bağlı ve bu sayfa içindir.
Kısaca sayfaya özgüdür.Hücre ve alanlarla ilgili "Sayfa" referansı yoktur.
Her zaman bu şekilde kullanılmaz.
 
Sayın turist, buton sayfa 2'de olsaydı, butona bastığımda Sayfa1'e geçmeden sıra numarasını vermesi için kod'da nasıl bir değişiklik yapmak gerekir?
 
Kod:
Sub SıraNo()
Application.ScreenUpdating = False
Sheets("Sayfa1").Select
[A3:A65536] = Empty
son = [C65536].End(3).Row
For i = 3 To son
Cells(i, 1) = i - 2
Next i
Sheets("Sayfa2").Select
Application.ScreenUpdating = True
End Sub

veya
#4.nolu mesajdaki gibi 2.sayfadan da Sayfa1 için işlem yaptırılabilir.
 
Sayın turist aşağıdaki kod gibi yapınca tam istediğim sonucu aldım, ilginize çok çok teşekkür ediyorum.

Kod:
Sub SıraNo()
Application.ScreenUpdating = False
Sheets("Sayfa1").[A3:A65536] = Empty
son = Sheets("Sayfa1").[C65536].End(3).Row
For i = 3 To son
Sheets("Sayfa1").Cells(i, 1) = i - 2
Next i
Application.ScreenUpdating = True
End Sub
 
Kod:
Sub SıraNo()
Set ws1=Sheets("Sayfa1")
ws1.[A3:A65536] = Empty
son = ws1.[C65536].End(3).Row
For i = 3 To son
ws1.Cells(i, 1) = i - 2
Next i
End Sub
şeklinde de 2. sayfadan Sayfa1 için işlem yapar.
 
Kodların çeşitliliği, her duruma ve ihtiyaca göre.
Biraz da "yiğidin yoğurt yeme şekline" bağlı:)
 
Sayın turist Sayfa1 için tanımlama yapılarak kod daha kısa oldu, valla doğru söylüyorsunuz. Kod bilmeyince eldeki verilere göre bir şeyler yapmaya çalışıyorum.

Hayırlı sabahlar diliyorum.
 
Sağolun, size de hayırlı sabahlar.
 
Alternatif;

Kod:
Sub Test()
    NoC = Sheets("Sayfa1").Range("C" & Rows.Count).End(xlUp).Row
    Range("Sayfa1!A3:A" & NoC) = "=(row()-2)"
    Range("Sayfa1!A3:A" & NoC) = Range("Sayfa1!A3:A" & NoC).Value
End Sub

.
 
Son düzenleme:
Bende yoğurdu böyle yedim...

Kod:
Sub Sira_No_Ver()
    Set S1 = Sheets("Sayfa1")
    S1.Range("A3") = "1"
    Son = S1.Cells(Rows.Count, 3).End(3).Row
    S1.Range("A3").AutoFill Destination:=S1.Range("A3:A" & Son), Type:=xlFillSeries
End Sub
 
Bende yoğurdu böyle yedim...

Kod:
Sub Sira_No_Ver()
    Set S1 = Sheets("Sayfa1")
    S1.Range("A3") = "1"
    Son = S1.Cells(Rows.Count, 3).End(3).Row
    S1.Range("A3").AutoFill Destination:=S1.Range("A3:A" & Son), Type:=xlFillSeries
End Sub
sayın KorhanAydın bunu butonla değilde userform uzerinde bilgi girişi yaparken kaydet tusuna basınca uye işe hem sıra no hemde uye no verecek üye değilse sadece sıra no verecek şekilde yapabilirmiyiz.
 
Lütfen ihtiyaçlarınızı örnek dosyanız üzerinden tarif ediniz.
 
Geri
Üst