2016-04-06 28 views
0

Excel 2007'de bir satır sütunu içeren verileri aldım. Veriyi bir döngü kullanarak yukarıdan aşağıya doğru okumak için bir VBA betiği ayarlamak istiyorum. Altıncı sütundaki hücre boş değilken döngü yinelenmeye devam etmelidir. denedim:Excel VBA: Boş hücreyi bitiş döngüsünde algılama

Do IsEmpty iken (Hücreleri (i, 6)) ...

i = i + 1

Döngü

Yanlış

= ... ve ayrıca

Do iken Hücreler (i, 6) .Value <> ""

...

i = i + 1

Döngü

döngü o gerekiyordu yapar ancak program verilerinin bloğun altında okumaya devam ediyor, çünkü bir hata ortaya çıkar. (Ben döngüde "Hatalı GoTo Catch" ekledim, sonra döngüden sonra "Yakalama: MsgBox Hücreleri (i, 6) .Value &" Hata ", bir hata oluştuğunu onaylamak için).

Hiçbir şey yok Hücreleri etkileyebilecek döngüde (i, 6)

Boş hücreler hakkında Yığın Taşması'nda birçok soru vardır; ancak yanıtlar, boş bir hücrenin döngü sonu oluşturmak için nasıl algılanacağını engelleme eğilimindedir. (aşağıda değiştirin) bunu yapmanın yolu?

cevap

0

doğru sayfasındaki konum Sağlanan Yayınladığınız kod çalışması gerekir

i=1  
    Do While sheets("sheet1").Cells(i, 6).Value <> "" 

     i = i + 1 

    Loop 

Sütun sonunun ekran görüntüsünü gönderir misiniz? Hata işlemeniz hata mesajını da engelliyor olabilir, bunu geçici olarak devre dışı bırakmayı deneyin. Sütunların hepsi belli bir sırada mı bitiyor? "Boş değilken VE satır < son satırını yap" seçeneğini belirtebilirsiniz.

+0

Sorun şu ki, "Catch:" ile başlayan satır, hata olmasa bile çalıştırılır. Gördüğüm zaman bu oldukça açık. –