• 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.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,612
Excel Vers. ve Dili
Ofis 365 Türkçe
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
 
Katılım
16 Kasım 2007
Mesajlar
20
Excel Vers. ve Dili
fvfsv
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.
?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,612
Excel Vers. ve Dili
Ofis 365 Türkçe
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
 
Katılım
16 Kasım 2007
Mesajlar
20
Excel Vers. ve Dili
fvfsv
Çok teşekkürler. Eksik olmayın.
 
Üst