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

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,128
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#1
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

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,101
Beğeniler
541
Excel Vers. ve Dili
2013 64Bit
English
#2
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.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,128
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#3
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.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,101
Beğeniler
541
Excel Vers. ve Dili
2013 64Bit
English
#4
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
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,101
Beğeniler
541
Excel Vers. ve Dili
2013 64Bit
English
#5
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.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,128
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#6
Bu kod daha kısa ve anlaşılır oldu, çok teşekkür ediyorum.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,101
Beğeniler
541
Excel Vers. ve Dili
2013 64Bit
English
#7
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
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,128
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#8
Sayın turist, evet bu kod daha kısa oldu, bu daha iyi. Çok teşekkür ediyorum.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,101
Beğeniler
541
Excel Vers. ve Dili
2013 64Bit
English
#9
Ö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.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,128
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#10
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?
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,101
Beğeniler
541
Excel Vers. ve Dili
2013 64Bit
English
#11
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.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,128
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#12
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
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,101
Beğeniler
541
Excel Vers. ve Dili
2013 64Bit
English
#13
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.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,101
Beğeniler
541
Excel Vers. ve Dili
2013 64Bit
English
#14
Kodların çeşitliliği, her duruma ve ihtiyaca göre.
Biraz da "yiğidin yoğurt yeme şekline" bağlı:)
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,128
Beğeniler
21
Excel Vers. ve Dili
Ofis 2013 Türkçe
#15
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.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,101
Beğeniler
541
Excel Vers. ve Dili
2013 64Bit
English
#16
Sağolun, size de hayırlı sabahlar.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
7,061
Beğeniler
475
Excel Vers. ve Dili
32 Bit 2010 - İngilizce
#17
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:

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
24,090
Beğeniler
211
Excel Vers. ve Dili
OFFICE 2013-2016 PRO TR
#18
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
 
Katılım
30 Nisan 2007
Mesajlar
112
Beğeniler
2
Excel Vers. ve Dili
exel2007
#19
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.
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
24,090
Beğeniler
211
Excel Vers. ve Dili
OFFICE 2013-2016 PRO TR
#20
Lütfen ihtiyaçlarınızı örnek dosyanız üzerinden tarif ediniz.
 
Üst