【Q.】
エクセルの最下行に到達すれば(あるいは最終行が空欄であれば)
ループを終了したいのですが、その方法がよくわかりません。
自分なりに何度も何度も試行錯誤し、ようやくブサイクながらも
ループマクロを作ったのですが”エクセルの最下行に到達すれば
ループを抜ける”のところでつまづいています。
Do
Selection.Copy
Selection.End(xlDown).Select
Range(Selection, Selection.End(xlUp)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.End(xlDown).Select
選択範囲 = Selection.Address(ColumnAbsolute:=F・・・
If 選択範囲 = Range("A65536") Then
Exit Do
End If
Loop
【A.】
ちょっとこのプログラムは頂けませんね。
ここで使っているDo Loop文というものは、大変に危険性が高いもの
なので、当講座においてはこのようなループの回し方は一切教えて
いません。
それは、いわゆる無限ループに陥りやすく、特に初心者の方が使う
べきものではないからです。
※このような Do ~ Loop 文は大変危険ですので、
初心者の方は絶対に使わないようにしてください!!
で、このようなループの場合にも、当講座でいつも扱っている
n = Cells(Rows.Count, "A").End(xlUp).Row 'A列の最下行
や
For i = 1 To n
・
・
Next i
といったものを使えば、確実に必要な分の行だけのループを回すこと
のできる(無限ループに陥ることの無い)プログラムとなりますから、
ループを回す場合には、必ずこうした安全性の高いプログラム作りと
いうことを心がけるようにしてください。
最新の画像[もっと見る]
- 80代の年寄りにVBAが出来るわけがない? 2年前
- 鎌倉殿の13人ー義経の逆落としの地形 2年前
- 鎌倉殿の13人ー義経の逆落としの地形 2年前
- 鎌倉殿の13人ー義経の逆落としの地形 2年前
- 鎌倉殿の13人ー義経の逆落としの地形 2年前
- 鎌倉殿の13人ー義経の逆落としの地形 2年前
- 関ケ原の合戦場をデジタルマップで見ると 2年前
- 関ケ原の合戦場をデジタルマップで見ると 2年前
- 関ケ原の合戦場をデジタルマップで見ると 2年前
- 上田城の3Dデジタルマップ 2年前