IsEmpty true verir değişken başlatılmamış veya açıkça Boş olarak ayarlanmış; aksi halde False değerini döndürür. İfadede birden fazla değişken varsa, false her zaman iade edilir. IsEmpty sadece varyantlar için anlamlı bilgiler verir. (https://msdn.microsoft.com/en-us/library/office/gg264227.aspx). Yani ayrı aralığında her hücreyi kontrol gerekir:
Tabii
Dim thisColumn as Byte, thisRow as Byte
For thisColumn = 1 To 5
For ThisRow = 1 To 6
If IsEmpty(Cells(thisRow, thisColumn)) = False Then
GoTo RangeIsNotEmpty
End If
Next thisRow
Next thisColumn
...........
RangeIsNotEmpty:
burada boş hücreleri değil saymak COUNTA fonksiyonu ile çözeltisinden daha kod vardır, ama en az bir değil Boş hücre tespit edilirse GoTo döngüler interupt ve Özellikle menzil büyükse ve bu durumu saptamanız gerekiyorsa kodunuzu daha hızlı yapın. Ayrıca benim için bu kod, VBA işlevi olmayan Excel CountA işlevinden daha fazlasını yapmaktan daha kolaydır.
(bu PIA, ancak VBA'DA kullanılan COM benzer olmalıdır) API bakınız o değerini çıkarmak: http://msdn.microsoft.com /en-us/library/microsoft.office.interop.excel.range_members.aspx (Count özelliği, belki de) –
Ben VBA için oldukça yeni değilim, bu bana pek bir şey ifade etmiyor :) – Kano
'Range ("A38: P38"). Say ', bkz. Http://msdn.microsoft.com/en-us/library/aa139976%28v=office.10%29.aspx –