• DİKKAT

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

Otomatik Satır Açma

Katılım
16 Kasım 2007
Mesajlar
20
Excel Vers. ve Dili
fvfsv
Merhaba arkadaşlar. Bu forumdaki ilk mesajım. Öncelikle herkese saygılar sevgiler.

Benim sorum şu:
FİŞ NO-----YTL-------$
--N101-----23-------20
--N101-----17-------14
--N102-----20-------17
--N102-----18-------15
--N102-----10--------8
--N103-----25-------23

Elimde yukarıdakine benzer bir tablo var (4000 küsür satırlık) Benim istediğim şu. Tekrarlayan fiş numaralarını, satıla ayırması. Yani macro çalıştıktan sonra elde etmek istediğim görünüm şu:

FİŞ NO-----YTL-------$
--N101-----23-------20
--N101-----17-------14
-----------------------
--N102-----20-------17
--N102-----18-------15
--N102-----10--------8
-----------------------
--N103-----25-------23

Sanırım fiş no sütununu bir array olarak gösterip, aşağıdaki gibi bir mantıkta kod yazılmalı. Tabi çözemedim ne yazık ki:)

{
if (a!=a[i+1]) then
insert_row()
}

Yardımlarınızı bekliyorum. Benim için çok önemli.
 
Merhaba,

Aşağıdaki kodları dener misiniz?

Kod:
Public Sub SatırAç()
Application.ScreenUpdating = False
    Columns("A:A").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.EntireRow.Delete
    Range("A1").Select
For i = [A65536].End(3).Row To 2 Step -1
    If Cells(i, "A") <> Cells(i - 1, "A") Then
       Rows(i).Insert
    End If
Next i
End Sub
 
Necdet Bey
Yazd&#305;m ama &#231;al&#305;&#351;m&#305;yor? Neden olabilir?

"Selection.SpecialCells(xlCellTypeBlanks).Select"

komutu olan sat&#305;rda hata veriyor ve "no cells were found" diyor.
?
 
Merhaba,

Kodları Aşağıdaki şekilde değiştirin.


Kod:
Public Sub SatırAç()
Application.ScreenUpdating = False
[COLOR=red]On Error GoTo Devam
[/COLOR]    Columns("A:A").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.EntireRow.Delete
    Range("A1").Select
[COLOR=red]Devam:
[/COLOR]For i = [A65536].End(3).Row To 2 Step -1
    If Cells(i, "A") <> Cells(i - 1, "A") Then
       Rows(i).Insert
    End If
Next i
End Sub
 
Çok teşekkürler. Eksik olmayın.
 
Geri
Üst