• DİKKAT

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

Satırları 4'e Tamamlamak.

Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Hepinize merhaba,

A2 hücresinden başlayan ve 1'den 4'e kadar sayılardan oluşan yaklaşık 100 satırlık bir dizim var.
Ã?rneğin,

A B C
Sayı
1
2
3
4
1
3
4
2
4
..
..
Benim yapmak istediğim bu dizide eksik olan sayıları satır açarak tamamlamak ve eksik sayısı ilgili hücreye yazdırmak.Kısaca bütün satırları 4'e tamamlamak istiyorum

Yardımlarınız için teşekkürler...
 
Sayın Abazya, dediğiniz yöntemi bende biliyorum ama benim elimde 100-150 veri var.Bunların hepsini tek tek yapmak biraz zaman alacaktır.Makro ile çözümünün olduğunu düşünüyorum.Kolay Gelsin.
 
Aşağıdaki kodu deneyin.

[vb:1:1c8d0ea3f6]Sub tamamla()
For a = [a65536].End(3).Row To 2 Step -1
If Cells(a - 1, "a") <> Cells(a, "a") - 1 And Cells(a, "a") <> 1 Then
Cells(a, "a").Insert
Cells(a, "a") = Cells(a + 1, "a") - 1
Call tamamla
End If
Next
End Sub
[/vb:1:1c8d0ea3f6]
 
Sayın Levenm kodlarınız gayet güzel çalışıyor.
Yalnız 3.dizide çalışmıyor.Diğerlerinde ise 4'e tamamlayıncaya kadar makroyu çalıştırmak gerek :.Teşekkürler. :D
 
3.diziden kastınız nedir? Yukarıdaki kodda küçük bir değişiklik yaptım tekrar denermisiniz.
 
Sn:leventm, dizi derken 1234 sayılarında oluşan verilerimi kastetmiştim.İlk 2 veriyi 4'e tamamlıyor.3.de ise herhangi bir işlem yapmıyor.Diğerlerinde de makro doğru çalışıyor.Fakat son yaptığınız düzeltmede sadece ilk 2 veriyi tamamlıyor.
Kolay Gelsin.
 
Evet bunu farkettim yukarıdaki kodu tekrar yeniledim. Bu sefer oldu galiba.
 
Sn.Leventm hatayı buldum galiba.Makro 4 ile bitmeyen dizilerde çalışmıyor.
Ã?rneğin;
1
2
4...Çalışıyor
1
2..Çalışmıyor
1
..
Teşekkürler. :8)
 
Birde aşağıdaki gibi denermisiniz.

[vb:1:ae64bbfcb7]Sub tamamla()
son = [a65536].End(3)
If son <> 4 Then [a65536].End(3).Offset(1, 0) = 4
10 deg = Array(4, 1, 2, 3)
c = 2
If [a2] = 1 Then c = 3
For a = [a65536].End(3).Row To c Step -1
If deg(Cells(a, "a") - 1) <> Cells(a - 1, "a") Then
Cells(a, "a").Insert
Cells(a, "a") = deg(Cells(a + 1, "a") - 1)
GoTo 10
End If
Next
End Sub
[/vb:1:ae64bbfcb7]
 
Sn:Leventm bilginize sağlık.Çok teşekkür ederim.
Kolay Gelsin. :hey:
 
Geri
Üst