Çözüldü Excel VBA X Hücre Boş İse Y ve X Hücre Sil

Katılım
10 Mart 2013
Mesajlar
187
Excel Vers. ve Dili
2016 - İngilizce
Altın Üyelik Bitiş Tarihi
29.05.2018
Merhaba,

Konu başlığında da belirttiğim gibi, makro ile B,E,H,K sütunlarındaki hücreler boş ise, boş olan hücrenin karşılığı yani ( B17 boş ise, A17'yi) silmesi gerekmektedir. Hücreleri sildiğinde, alttındaki değerler dolu ise hücreleri üst hücreye kaydırmalıdır. Denemeler yaptım fakat başarısız oldum. Konu hakkında yardımlarınızı rica ederim.

1536667677524.png
 

Ekli dosyalar

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Sayın, @ridvanucok ,
Örnek dosyanızda;
B17 boş, A17 deki "c" silinerek, A18:A25 de yazanlar "A17:a24" aralığına mı taşınacak?
B sütununda arada örnek B7 boşsa nasıl bir düzenleme oacak?
Cevaplarsanız, çözüme yardımcı olur.
İyi çalışmalar.
 
Katılım
10 Mart 2013
Mesajlar
187
Excel Vers. ve Dili
2016 - İngilizce
Altın Üyelik Bitiş Tarihi
29.05.2018
Sayın, @ridvanucok ,
Örnek dosyanızda;
B17 boş, A17 deki "c" silinerek, A18:A25 de yazanlar "A17:a24" aralığına mı taşınacak?
B sütununda arada örnek B7 boşsa nasıl bir düzenleme oacak?
Cevaplarsanız, çözüme yardımcı olur.
İyi çalışmalar.
Üstadım merhaba,

B17 boş ise, A17 ve B17 hücreleri silinerek, "A17:A24" hücre aralığına taşınacak fakat, B18'de boş ise, bu kuralı bir alttaki hücreye yansıtarak, B25'e kadar kontrol edecek. Burada yapmak istediğim, B, E, H, K sütunlarında boş olan hücreleri ve çerçeveleri kaldırmak. Konu hakkında yardımlarınızı rica ederim.

Saygılarımla, iyi çalışmalar.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Aşağıdaki kodlar işinizi görüyor mu?
Kod:
Sub BosSil()
    Dim Satir As Long
    Dim Sutun As Integer
    For Sutun = 1 To 11 Step 3
        Satir = 2
        Do
            Satir = Satir + 1
            If Cells(Satir, Sutun + 1).Value = "" And Cells(Satir, Sutun).Value <> "" Then
                Cells(Satir, Sutun).Delete Shift:=xlUp
                Cells(Satir, Sutun + 1).Delete Shift:=xlUp
                Satir = Satir - 1
            ElseIf Cells(Satir, Sutun).Value = "" Then
                Exit Do
            End If
        Loop
    Next
End Sub
 
Katılım
10 Mart 2013
Mesajlar
187
Excel Vers. ve Dili
2016 - İngilizce
Altın Üyelik Bitiş Tarihi
29.05.2018
Merhaba.
Aşağıdaki kodlar işinizi görüyor mu?
Kod:
Sub BosSil()
    Dim Satir As Long
    Dim Sutun As Integer
    For Sutun = 1 To 11 Step 3
        Satir = 2
        Do
            Satir = Satir + 1
            If Cells(Satir, Sutun + 1).Value = "" And Cells(Satir, Sutun).Value <> "" Then
                Cells(Satir, Sutun).Delete Shift:=xlUp
                Cells(Satir, Sutun + 1).Delete Shift:=xlUp
                Satir = Satir - 1
            ElseIf Cells(Satir, Sutun).Value = "" Then
                Exit Do
            End If
        Loop
    Next
End Sub
Üstadım,

İlginiz için çok teşekkür ederim. Kod tam olarak işimi gördü. İyi çalışmalar dilerim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Rica ederim. İyi çalışmalar.
Kod aşağıdaki gibi daha kısa yazılabiliyor.

Kod:
Sub BosSil()
    Dim Satir As Long
    Dim Sutun As Integer
    For Sutun = 1 To 11 Step 3
        Satir = 2
        Do
            Satir = Satir + 1
            If Cells(Satir, Sutun + 1).Value = "" And Cells(Satir, Sutun).Value <> "" Then
                Cells(Satir, Sutun).Delete Shift:=xlUp
                Cells(Satir, Sutun + 1).Delete Shift:=xlUp
                Satir = Satir - 1
            End If
        Loop Until Cells(Satir, Sutun).Value = ""
    Next
End Sub
 
Üst