Çözüldü Selection.specialcells(xlcelltypeblanks) tüm boşlukları seçmiyor

KoNFiCuS

Altın Üye
Katılım
18 Mayıs 2011
Mesajlar
57
Excel Vers. ve Dili
Office 365 TR - 64 Bit
Altın Üyelik Bitiş Tarihi
08-03-2028
Değerli Üstadlar,

ufak bir problemim var örneğin A2 den E son satıra kadar olan bir aralıkta boş satırlar bulunmakta, kod ile bunları seçmek istediğimde sadece A sütunun daki boşlukları seçmekte.

Kısaca kodum;
Kod:
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column

Range(Cells(1, 1), Cells(lastRow + 2, 1 + 4)).Select 'Test 1
On Error GoTo errhandlr
Range("A2:d" & lastRow - 1).Select 'Test 2


Range("A2:d" & lastRow - 1).SpecialCells(xlCellTypeBlanks).Select 'Test 3


Selection.FormulaR1C1 = "=R[-1]C"



Range(Cells(1, 1), Cells(lastRow + 2, 1 + 4)).Value = Range(Cells(1, 1), Cells(lastRow + 2, 1 + 4)).Value
Test 1,2,3 istediğim aralığı seçiyor, SpecialCells(xlCellTypeBlanks).Select kod satırı geldiğinde sadece A daki boşlukları seçmekte. nasıl tüm aralığı seçtirebilirim.
 

Ekli dosyalar

Korhan Ayhan

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

Hücreler gerçekte boş olmayabilir mi?

UZUNLUK formülü ile kontrol edebilirsiniz.
 

KoNFiCuS

Altın Üye
Katılım
18 Mayıs 2011
Mesajlar
57
Excel Vers. ve Dili
Office 365 TR - 64 Bit
Altın Üyelik Bitiş Tarihi
08-03-2028
Korhan bey,

gerçekten boş test için for döngüsüne soktum ilk döngüde sadece A yı yaptı diğer döngüde kalanları yaptı. Buda bir çözüm oldu ama öğrenmek için ben mi bir hata yapıyorum kodlarda dedim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,588
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sorunlu dosyayı paylaşın biz de test edelim..
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
413
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Merhaba,

Hücreler aslında boş değil fakat karakter de yok. Çift tıklama ile içine gir - çık yaparak yada tek tek seçip Delete tuşunu kullandıktan sonra Boşluk olarak seçilebildiğini görebilirsiniz. Daha basit bir yolu olabilir fakat aşağıdaki gibi bir kod bloku ile bu hücreleri temizleyebilirsiniz.

Kod:
Dim hcr As Range
For Each hcr In ActiveSheet.UsedRange
If Len(hcr) = 0 Then hcr.ClearContents
Next
251399
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,614
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub test()
    With Range("A2:D" & Cells(Rows.Count, 1).End(xlUp).Row - 1)
        .Value = .Value
        .SpecialCells(xlCellTypeBlanks).Formula = "=A2"
        .Value = .Value
    End With
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,588
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Gerçekten ilginç..

Hem uzunluğu etkilemiyor. Hem de boş değil..

Formüllerle karakter kodunu tespit etmeye çalıştım. Fakat başarılı olamadım. İlk defa böyle bir durumla karşılaştım.

Bu raporu nereden aldınız?
 

KoNFiCuS

Altın Üye
Katılım
18 Mayıs 2011
Mesajlar
57
Excel Vers. ve Dili
Office 365 TR - 64 Bit
Altın Üyelik Bitiş Tarihi
08-03-2028
Gerçekten ilginç..

Hem uzunluğu etkilemiyor. Hem de boş değil..

Formüllerle karakter kodunu tespit etmeye çalıştım. Fakat başarılı olamadım. İlk defa böyle bir durumla karşılaştım.

Bu raporu nereden aldınız?
Şirket içi yazılımdan Excel Export ile.

@veyselemre @DoğanD sizin kodlarınızı deneyeceğim. Teşekkürler.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,376
Excel Vers. ve Dili
Office 2013
Merhaba;

A sütunundaki boş hücreler, null

Diğer sütunlardaki B,C,D olanlarda boş hücreler ise, ""

değerine sahipler.
 

KoNFiCuS

Altın Üye
Katılım
18 Mayıs 2011
Mesajlar
57
Excel Vers. ve Dili
Office 365 TR - 64 Bit
Altın Üyelik Bitiş Tarihi
08-03-2028
Kod:
Sub test()
    With Range("A2:D" & Cells(Rows.Count, 1).End(xlUp).Row - 1)
        .Value = .Value
        .SpecialCells(xlCellTypeBlanks).Formula = "=A2"
        .Value = .Value
    End With
End Sub
Evet bu kod tam anlamıyla çalıştı, çok teşekkür ederim.
 
Üst