• DİKKAT

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

Boş satırları yok etme

Katılım
17 Aralık 2006
Mesajlar
85
Excel Vers. ve Dili
2003
Bir listeden işime yarayan satırları listenin sağ tarafına aldırıyorum. Tabi satırlar arasında boşluk kalıyor. Bu boşlukları yok ederek Listeyi tekrar hazırlatmak mümkün mü acaba.
Yardımcı olan arkadaşlara şimdiden teşekkür ederim.
Bir örnek..
 
Kod:
Sub Sil()
Dim rForDelete As Range
Dim c As Range
    With Sheets("Sayfa1")
        For Each c In Range(.[b1], .[b65536].End(3))
            If c.Value = "" Then
                If Not rForDelete Is Nothing Then
                    Set rForDelete = Union(rForDelete, c)
                Else
                    Set rForDelete = c
                End If
            End If
        Next
        If Not rForDelete Is Nothing Then rForDelete.Delete (xlUp)
    End With
End Sub
 
Teşekkür

Arkadaşım sana ne kadar teşekkür etsem azdır. Çok sağolasın...
 
Bi soru daha

Peki müsaitseniz bi soru daha sorsam;
Ben bu makroyu bir düğmeye atamayı biliyorum. Düğmeye basmadan kendiliğinden makronun çalışması mümkün mü acaba?
Şimdiden teşekkürler.
 
Aşağıdaki kodları sayfa1 in kod sayfasına koyun otomatik çalışacaktır. Yalnız bu şekilde kullanmayı pek tavsiye etmem. Sayfanız sürekli kontrol halinde tutulacaktır, kopyalamalarda da sorun çıkabilir. Bu yüzden bu şekilde kullanmayı pek sevmiyorum.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 2 Then Exit Sub
    Dim rForDelete As Range
    Dim c As Range
    With Sheets("Sayfa1")
        For Each c In Range(.[b1], .[b65536].End(3))
            If c.Value = "" Then
                If Not rForDelete Is Nothing Then
                    Set rForDelete = Union(rForDelete, c)
                Else
                    Set rForDelete = c
                End If
            End If
        Next
        If Not rForDelete Is Nothing Then rForDelete.Delete (xlUp)
    End With
End Sub
 
Se&#231;enek, makro yada form&#252;l yazmadan :

  1. Sizin &#246;rne&#287;inizde B s&#252;tununu se&#231;in
  2. F5
  3. &#214;zel (Special)
  4. Bo&#351;luklar (Blanks)
  5. Tamam (OK)
  6. Fare ile Sa&#287; T&#305;k
  7. Sil (Delete)
  8. H&#252;creleri Yukar&#305; &#214;tele (Shift cells up) yada, T&#252;m Sat&#305;r (Entire Row) yada istedi&#287;iniz colon da olabilir
 
Boşluk silme makrosu sorun

Veyselemre arkadaş sağolsun bana aşağıdaki makroyu gönderdi. Ben bu makroyla B,B,D,E sütunlarının hepsindeki boşlukları silmek istiyorum. Ne yapmam gerekiyor acaba?
Yardımlarınız için şimdiden teşekkürler.


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub
Dim rForDelete As Range
Dim c As Range
With Sheets("Sayfa1")
For Each c In Range(.[b1], .[b65536].End(3))
If c.Value = "" Then
If Not rForDelete Is Nothing Then
Set rForDelete = Union(rForDelete, c)
Else
Set rForDelete = c
End If
End If
Next
If Not rForDelete Is Nothing Then rForDelete.Delete (xlUp)
End With
End Sub
 
Say&#305;n matit35

L&#252;tfen ayn&#305; konu ile ilgili ikinci bir ba&#351;l&#305;k a&#231;may&#305;n&#305;z.
Sorunuz &#231;&#246;z&#252;me kavu&#351;mad&#305;ysa, ayn&#305; ba&#351;l&#305;kta devam edin.
 
Sayfada bulunan kodlar formüllerin yerini de değiştiriyor.

Yazacağım kod ile formüllerin yerleri değişmesin ama dolu olan hücreler yukarı ötelensin istiyorum.

Lütfen yardımcı olursanız çok sevinirim....
 
sorumun daha iyi anlaşılabilmei için örnek bir dosya hazırladım...
içinden çıkamadım her yerde aradım ama formüllerin yeri değişiyor. yardımcı olursanız çok sevineceğim...
 

Ekli dosyalar

Selamlar,

Aşağıdaki dizi formülü kullanarak boş satırlardan kurtulabilirsiniz.

A1 hücresina uygulayınız. Formülü hücreye yazdıktan sonra hücreyi CTRL+SHIFT+ENTER tuşlarına basarak terk edin. Aksi halde doğru sonuç üretmez.

Kod:
=EĞER(SATIR()>BAĞ_DEĞ_DOLU_SAY(M:M);"";İNDİS($M$1:$M$1000;KÜÇÜK(EĞER($M$1:$M$1000<>"";SATIR($M$1:$M$1000));SATIRSAY($M$1:$M1))))
 
işte tek kelime ile çok uzun zamandır aradığım bu idi. Size çok teşekkür ederim... Saygılar...
 
Geri
Üst