23. satır boşsa o sütunu sil

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Merhaba belli bir satır boşsa o sütunu silen bir makro istiyorum

örneğin a den bz sütun aralığında
c, d, f, h, ı, j, ba, bf, bg, sütunlarını bunların 23. satırlarını kontrol edecek (değişken olursa sevinirim örneğin 23 değilde 25 olarak değiştirme olanağı) ""," " ise silecek yada hücreler 0 yada 0dan büyükse kalacak değilse silinecek.

ben yaptım ama bazı sütunları siliyor bazısını silmiyor bazen doluda siliyor burda bir hata var ama anlamadım örnek kesit aşağıdadır.

if then range("b23")="" then
Columns("b:b").Select
Selection.Delete Shift:=xlToLeft
end if

if then range("c23")="" then
Columns("c:c").Select
Selection.Delete Shift:=xlToLeft
end if
 
Son düzenleme:
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Aşağıdaki kodları deneyiniz.

Kod:
Sub BoşlukSil()
cveri = Array("c", "d", "f", "h", "I", "j", "ba", "bf", "bg")
rveri = 23
For Each sil In cveri
If Cells(rveri, sil).Value = "" Then
Columns(sil).EntireColumn.Delete Shift:=xlToLeft
End If
Next
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
sayın ripek kolanlar hepsi olabilir rastgele verdim onları
a:bz aralığındaki tüm sutünlar(kolonlar) için geçerli makro lazım tüm kolon başlıklarını mı
cveri = Array("a", "b", "c", ............................., "", "ad", ....... , "az", ..... "bx", "by", "bz")
yazacağız yoksa

kısaltması varmı 1 den 78 kadr olan kolanları kontrol et ve 23 satırları boşsa sil gibi
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
O zaman aşağıdakini deneyiniz.
Kod:
Sub BoşlukSil()
rveri = 23
For i = 1 To 78
If Cells(rveri, i).Value = "" Then
Columns(i).EntireColumn.Delete Shift:=xlToLeft
End If
Next
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hocam denedim bazı sütunlar problem çıkardı örnek dosya ekledim.
yardımlarınız bekliyorumç
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Kod:
Sub BoşlukSil()
rveri = 23
For i = 1 To 78
If Cells(rveri, i).Value = "" Or Cells(rveri, i).Value = " " Then
Columns(i).EntireColumn.Delete Shift:=xlToLeft
End If
Next
End Sub
olarak denermisiniz?

Silmediği kolonlarda space(boşluk) karakteri bulunmaktadır.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hocam aynı işe yaramıyor f2 ile içine girip oklarla gezmeyi deniyorum imleç kıpırdamıyor bile yani kesinlikle "" halinde " " veya " " gibi varyosyonları akla getirmeye gerek yok gibi geliyor. ilk başta verdiğim
if then range("b23")="" then
Columns("b:b").Select
Selection.Delete Shift:=xlToLeft
end if

if then range("c23")="" then
Columns("c:c").Select
Selection.Delete Shift:=xlToLeft
end if
kodunda aynı hatayı yapmıştı
ama sizin verdiğiniz allah razı olsun en azından manuel 2 ila 5 arasında manuel siliyorum.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Birde son olarak aşağıdakini deneyin.
Kod:
Sub BoşlukSil()
rveri = 23
For i = 78 To 1 Step -1
If Cells(rveri, i).Value = "" Or Cells(rveri, i).Value = " " Then
Columns(i).EntireColumn.Delete Shift:=xlToLeft
End If
Next
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Alternatif olarak aşağıdaki kodu denermisiniz.

Kod:
Sub BOŞ_OLAN_SÜTUNU_SİL()
    SATIR = Val(Application.InputBox("SATIR NO GİRİNİZ !", , 1))
    If SATIR = False Then
    MsgBox "İŞLEM İPTAL EDİLDİ !", vbInformation
    Exit Sub: End If
    If SATIR = "" Then
    MsgBox "HATALI SEÇİM !", vbExclamation
    Exit Sub: End If
    For X = 78 To 1 Step -1
    If Cells(SATIR, X) = "" Or Cells(SATIR, X) = " " Then Columns(X).Delete
    Next
    MsgBox "İŞLEMİNİZ TAMAMLANMIŞTIR.", vbInformation
End Sub
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
evet ipsala sheet1 de
3, 32,34, 36,38,40, 42,44,46, 48,52 nolu sütunları silmiyor (makroyu çalıştıırmadan a=1, b=2 şeklinde sütunlarıı numaralandırdım)

birde makro çalışmaya başladığında
rveri = soran kod nasıl eklenenir çünkü sayfaya göre 23 yada 24 olarak değişiyor elle değiştiriyorum ama msgbox veya öyle bir yerde sorsa diyorum?
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

23. satırda boş olan hücre sütununu siler.
Kod:
Sub test()
For sat = 50 To 1 Step -1
If Cells(23, sat) = "" Then
Columns(sat).Delete
End If
Next
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Selamlar,

Alternatif olarak aşağıdaki kodu denermisiniz.

Kod:
Sub BOŞ_OLAN_SÜTUNU_SİL()
    For X = 78 To 1 Step -1
    If Cells(23, X) = "" Or Cells(23, X) = " " Then Columns(X).Delete
    Next
End Sub

cost kontrol problem çıkarmadı
kodları şu şekilde yaptım

Sub BOŞ_OLAN_SÜTUNU_SİL()
'cost_control excelweb
rveri = 23
For X = 78 To 1 Step -1
If Cells(rveri, X) = "" Or Cells(rveri, X) = " " Then Columns(X).Delete
Next
End Sub


şimdi burdaki rveri yi bana sorsun 23 mü 24 mü 25 mi bukodu da ekledimmi süper olacak

sayın vb for aplications aynı mantık teşekkürler.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Kod:
Sub BoşlukSil()
rveri = [b]Inputbox("Hangi Satırı Silmek İstiyorsunuz?")[/b]
For i = 78 To 1 Step -1
If Cells(rveri, i).Value = "" Or Cells(rveri, i).Value = " " Then
Columns(i).EntireColumn.Delete Shift:=xlToLeft
End If
Next
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Üstteki mesajımda önerdiğim kodu güncelledim. İncelermisiniz.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Mükemmel ellerinize sağlık
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
İnanın insanın gözü doymuyor şimdi desem ki, son hale gelen A23:W47 veya a24:w48 aralığını kopyalıp
seçim tutanağı.xls!ilçeadı (ben girecem, yoksa oluşturacak) a:w sütunlarına 9.satırdan itibaren yapıştırsa sheet2 a34 ten itibaren devam etsin falan desem
beşik kertmesi dizindeki gibi Hadi leeen! demezsiniz değilmi?
 
Üst