Ardışık sayılardaki Eksiklikler

Katılım
20 Nisan 2005
Mesajlar
451
Altın Üyelik Bitiş Tarihi
18.11.2019
A hücresi
120.01.00001
120.01.00002
120.01.00005
120.01.00006
120.01.00007
120.01.00008
120.01.00009
120.01.00010
120.01.00011
120.01.00014
120.01.00015
120.01.00016
120.01.00019

rakamlar var
B hücresine aradaki eksik rakamları yazdırabilirmisyiz.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yukarıdaki verilerinizin A1 den aşağıya doğru sıralandığını kabul edersek, aşağıdaki kodu deneyin.

[vb:1:dae2d7d533]Sub ardisik()
For a = 1 To [a65536].End(3).Row
deg1 = Right(Cells(a, "a"), 5) * 1
If Cells(a + 1, "a") = 0 Then Exit Sub
deg2 = Right(Cells(a + 1, "a"), 5) * 1
If deg2 - deg1 <> 1 Then
For b = 1 To deg2 - deg1 - 1
c = c + 1
Cells(c, "b") = "120.01." & WorksheetFunction.Rept(0, 5 - Len(deg1 + b)) & deg1 + b
Next
End If
Next
End Sub
[/vb:1:dae2d7d533]
 
Katılım
20 Nisan 2005
Mesajlar
451
Altın Üyelik Bitiş Tarihi
18.11.2019
Dediğiniz Formulleri
yerine kopyaladım
fakat gerçekleşmedi
dosya ektedir.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yanlış işlem yapmışsınız, ekteki dosyayı inceleyin.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
Sayın esolen,

Sayıları 120.06.00000 şeklinde değil 1200600000 şeklinde girmiş olsaydınız (ama gösterimini 120.06.00000 yapmış olsaydınız)
Sayın leventmin mükemmel çalışması her şartta çalışırdı

bu makro sadece sanırım 120.06 ile başlayan satırlarda geçerli.

Küçük bir anımsatma
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
bu makro sadece sanırım 120.06 ile başlayan satırlarda geçerli.
Eğer baştaki ifadeler değişkense bu durumda kod içindeki "120.01." yerine Left(Cells(a, 1), 7) yazılabilir.

Sn Necdet bey dikkatiniz ve uyarınız nedeniylede teşekkür ederim.
 
Katılım
20 Nisan 2005
Mesajlar
451
Altın Üyelik Bitiş Tarihi
18.11.2019
leventm' Alıntı:
bu makro sadece sanırım 120.06 ile başlayan satırlarda geçerli.
Eğer baştaki ifadeler değişkense bu durumda kod içindeki "120.01." yerine Left(Cells(a, 1), 7) yazılabilir.

Bu söylenenni uyguladığımda istediğim sonuçlara ulaştım

Ancak;
A 1 Hücresindeki verileri
değiştirip 120.16.00001 den başlayan eksik numaraları kontrol ettiğimde eski verileri değiştirmiyor hala 120.06 nın eksikleri kalıyor
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
değiştirip 120.16.00001 den başlayan eksik numaraları kontrol ettiğimde eski verileri değiştirmiyor hala 120.06 nın eksikleri kalıyor
Sadece en üstte sorduğunuz şekli ile bir kod önermiştim. Þimdi sorunuza yaptığınız her ilave kodun yeni baştan tasarlanması anlamına geliyor. Lütfen sorularımızı çok detaylı ve anlaşılır şekilde gerekirse bir örnek dosya eşliğinde soralım.
 
Katılım
20 Nisan 2005
Mesajlar
451
Altın Üyelik Bitiş Tarihi
18.11.2019
Teşekkür ederim
Pazartesi örnek dosyayı sisin ile paylaşacağım
iyi hafta sonları
 
Katılım
20 Nisan 2005
Mesajlar
451
Altın Üyelik Bitiş Tarihi
18.11.2019
leventm

Dosya Ektedir.
 
Üst