• DİKKAT

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

Şarta bağlı sütun silme

Katılım
17 Nisan 2013
Mesajlar
101
Excel Vers. ve Dili
2007 Microsoft Office Türkçe
aşağıdaki kod E sütununda ("E8:E155") arasında veri yoksa E sütununu siliyor . fakat aynı anda D sütununuda silmesini istiyorum .
yani E sütununda E8:E155 arasında veri yoksa hem E sütununu Hem D sütununu aynı anda silsin . D sütununda veri olsada silsin.

yardım ederseniz çok sevinirim :)

Sub Bos_Satirlari_Sil()

On Error GoTo Son
Range("E8:E155").SpecialCells(xlCellTypeBlanks).EntireColumn.Delete
Son:

End Sub
 
Merhaba iyi çalışmalar
Sayın YILDIZ YAĞMURU
Denermisiniz
Kod:
Sub Boş_satır_sil()
Application.ScreenUpdating = False
Dim i As Integer
t = ActiveSheet.UsedRange.Rows.Count
For i = t To 1 Step -1
If IsEmpty(Cells(i, 5)) Then
Rows(i).Delete Shift:=xlUp
End If
Next i
Application.ScreenUpdating = True
End Sub
 
ZorBey merhaba

Merhaba iyi çalışmalar
Sayın YILDIZ YAĞMURU
Denermisiniz
Kod:
Sub Boş_satır_sil()
Application.ScreenUpdating = False
Dim i As Integer
t = ActiveSheet.UsedRange.Rows.Count
For i = t To 1 Step -1
If IsEmpty(Cells(i, 5)) Then
Rows(i).Delete Shift:=xlUp
End If
Next i
Application.ScreenUpdating = True
End Sub


Fakat bu kod satırları siliyor .. Benim istediğim Sütun silme işlemi :)
 
Aşağıdaki şekilde deneyiniz.

Kod:
For a = 8 To 155
If Cells(a, 5) = "" Then b = b + 1
Next a
If b = 148 Then Columns("D:E").Delete Shift:=xlToLeft
 
Sayın ExcelF1

Aşağıdaki şekilde deneyiniz.

Kod:
For a = 8 To 155
If Cells(a, 5) = "" Then b = b + 1
Next a
If b = 148 Then Columns("D:E").Delete Shift:=xlToLeft

çok teşekkür ederim fakat şöyle bir sorun çıktı. Boş sandığım E8:E155 arasındaki hücrelerin bir kısmında 0 (sıfır) değeri var bir kısmı ise boş . bu yüzden sıfır değerleri dolu gördüğü için kod çalışmıyor. sıfır değerleri sildiğimde kod çalışıyor.
kodu bu hücrelerde hem sıfır değerler varsa hem boşsa diye revize edebilirmiyiz acaba
 
Bu şekilde deneyiniz.

Kod:
For a = 8 To 155
If Cells(a, 5) = "" Or Cells(a,5) = 0 Then b = b + 1
Next a
If b = 148 Then Columns("D:E").Delete Shift:=xlToLeft
 
Kod:
If b = 148

Hocam yeni yeni öğreniyorumda bu kodun anlamı ne? Burayıanlayamadım, neden 148 yazdık?
 
E8:E155 aralığında 148 adet hücre var.

b=b+1 ile bu hücreler sayılıyor. Sayım sonucu 148 ise tüm hücreler sizin belirttiğiniz kriterlere uyuyor demektir. Bu durumda da sütunlar siliniyor.
 
Rica ederim. Kolay gelsin.
 
Geri
Üst