2017-02-07 11 views
-1

whileループを使用してExcelスプレッドシートのA列にテキストを含む最後の行を探したいとします。私はVBAの初心者であるため、必要な正確な構文についてはわかりません。しかし私は私はあなたのコードが唯一されていない、その列内の最初の空のセルを見つける行で20whileループで最後の行を検索する

Dim Row As Integer 
Row = 20 
Do While .Range("A" & Row) <> "" 
    Row = Row + 1 
Loop 
+1

これは、列に最後に入力された行を見つける一般的な方法です。http://stackoverflow.com/questions/27065840/meaning-of-cells-rows-count-a-endxlup-row –

答えて

0

を開始whileループを使用するを必要、最後の行を見つけるために他の方法がある実現します必然的に最後に使用された行の後。なぜそれが "While"ループでなければならないのですか? whileループなしで最後に使用された行または列を見つける方法は6つあります。

Dim X as long 'Note, use Long, NOT Integer 
For X = 20 to Range("A" & rows.count).end(xlup).row 
    'What you want to do in your loop here 
Next 

しばらくは他の人が指摘したように、それがになったとき、それは停止しますここで良い選択肢ではないですか。単純にこれで最後の行に

+0

他の方法では、しかし、私は他の機能のためのwhileループを使用するので、私はそれが必要です。列Aの行20〜40に文字列が含まれていても、ループは20を超えて進行しません。これはなぜですか? –

0

ループ「VBAが最後の行を見つけるエクセル」のgoogle後でセルにデータがあっても空白になります。

個人的に私は、VBAのオブジェクトまたはメソッドと同じ命名変数から離れています。

関連する問題