• DİKKAT

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

Koşula Bağlı Satır Ekleme

Katılım
1 Aralık 2013
Mesajlar
44
Excel Vers. ve Dili
2007
Merhaba arkadaşlar! İlginç ve zor bir sorum olacak! Elimde aşağıdaki şekilde bir veri dizisi var;
...
2017 9 20
2017 9 21
2017 9 22
2017 9 24
...
Arkadaşlar sorum şu: Yukarıda Yıl-Ay-Gün şeklinde her biri ayrı sütunda yer alan veriler var. Ancak bazı günlerin verileri eksik. Örneğin yukarıda 2017 9 23 tarihi eksik. 1960-2017 arasını kapsayacak şekilde uzayıp gidiyor bu veriler. Örnekteki gibi belli yerlerde olmayan eksik günler var. Ben bu eksik günlerin olduğu yerleri tespit edip oralara satır ekleyen bir formül geliştirmek istiyorum. Ancak acemi olduğum için bunu yapamıyorum! Bana yardımcı olur musunuz? Böyle bir formül mümkün mü? Şimdiden çok teşekkürler!
 
kardeşim elimden geldiğince bunu yapabildim bende çalıştı eğer sorun olursa yazarsın
 
Cevabın için teşekkür ederim kardeşim! Sanırım bir dosya ekledin. Fakat ben altın üye olmadığım için göremiyorum! Benim mailime atabilir misin kardeşim! Gerçekten çok müteşekkir olurum dua ederim sana! Önemli!
 
İstediğiniz satır ekleme kodu ise, hangi satırda hata varsa (kırmızı ile işaretli olan satır numarasıdır) Örnek:
Kod:
Sayfa1.Rows([COLOR="Red"][B]1[/B][/COLOR]).Insert
 
Binlerce satır var. Düşünün; 1930'dan günümüze kadar olan her gün, bir satır demek. Bunların arasında düzensiz aralıklarla atlanmış günler var. Örneğin;
2017 9 20
2017 9 21
2017 9 22
2017 9 24

2017 yılının 9. ayının 23. günü atlanmış. Ben bu atlanmış olan yere satır eklemek istiyorum. Formül bu atlanmış yerleri kendisi tespit edip oralara satır eklemeli. Çünkü binlerce satır var hepsini manuel tespit etmek çok çok zor. Böyle bir formül mümkün mü?
 
Merhaba
Ek dosyayı deneyin, istediğiniz böyle bir şeymi?

http://www.dosya.tc/server10/ro9v0f/satir_ekle.zip.html

Kod:
[SIZE="2"]Private Sub CommandButton1_Click()
Dim a As Long, c As Long
Dim b As String, d As String
Dim x As Double, x2 As Double
a = Cells(Rows.Count, "A").End(3).Row
For c = a To 3 Step -1
b = Format(Cells(c, 3).Text, "##") & "." & Format(Cells(c, 2).Text, "##") & "." & Format(Cells(c, 1).Text, "####")
x = CDbl(CDate(b))
d = Format(Cells(c - 1, 3).Text, "##") & "." & Format(Cells(c - 1, 2).Text, "##") & "." & Format(Cells(c - 1, 1).Text, "####")
x2 = CDbl(CDate(d))
If x2 + 1 <> x Then
 Rows(c & ":" & c).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
 Cells(c, 1) = Year(CDate(x - 1))
 Cells(c, 2) = Month(CDate(x - 1))
 Cells(c, 3) = Day(CDate(x - 1))
c = c + 1
End If
Next
End Sub [/SIZE]
 
Hemen deniyorum kardeşim! Birazdan dönüş yaparım. Bir üstünüzdeki yorumda daha ayrıntılı anlattım isteğimi. Bir göz atın yorumuma! Ben ek i deniyorum!
 
Evet dostum isteğim tam olarak budur! Çok müteşekkirim! Çok teşekkür ederim! Harikasınız! Allah razı olsun! Mutluluktan uçuyorum :) Beni büyük bir yükten kurtardın :)
 
Peki dostum bu formülü kendi excel dosyama nasıl kopyalayabilirim?!
 
Çok teşekkür ederim yardımınız için!!! Gerçekten çok işime yaradı. İşin uzunluğunu yüzde 90 kısalttı. Allah razı olsun!!!
 
Geri
Üst