
No.5ベストアンサー
- 回答日時:
こんばんは。
初歩の質問だとは思います。Do ~ Loop の Until や While で条件として判定するのは、True, False ということです。それを毎回、判定しています。数値化して、初期値と最終値を得られるものなら、For i=初期値 To 最終値 の方が楽です。また、インデックスを持ったものは、途中で抜き出すのも楽です。しかし、初期値・最終値が計数化しにくいものがあります。例えば、テキストファイルやバイナリファイルは、その終わりは、特別な信号(EOF,LOF) を持っていて、その最終値を数値化するのに複雑になるものがあります。
Excelのワークシートのように、Cells は、元々、行や列で数値を持ったものです。それを、わざわざ、Range オブジェクトの中のプロパティでループのたびに判定する必要はありません。だから、Excelでは、Excel VBAを知っている人なら、圧倒的に、For 初期値~ To 最終値 のほうを選びます。しかし、他の条件、他のオブジェクトでは、そう行かないものもまたあります。条件判定するオブジェクトや条件によって、使い分けが必要です。
いろいろなコードを書いてみることをお勧めします。
No.4
- 回答日時:
ループ処理に限らず、他の処理でも用意されたステートメントを使って、実現するための方法はいくつも出てきます。
言語で用意されたステートメントを適切に使って、プログラムを分かり易く書くほうが良いのではないでしょうか。
例えば For~NextとDo~Loopの単純な違いは、
直接数値を指定の場合は、For文の1行でループ条件がわかる。
Doはカウンタを持たないので、他のループ条件を指定でき、前判断や後判断ができるが、カウンタ、その他の判定条件の記述が必要。
ということになるので、その場面場面で適切なものを使うのが一番かと。
いろいろな繰り返し処理
http://home.att.ne.jp/zeta/gen/excel/c04p21.htm
No.3
- 回答日時:
こういう感じなのでしょうかね
Sub test()
Dim i As Integer
i = 1
for i = 1 to 0 step 1
If Cells(i, 1) <> Cells(i, 2) Then
i = 0
MsgBox "不一致"
Elseif i>= 65535 then
i = 0
MsgBox "一致"
End If
next i
End Sub
No.2
- 回答日時:
ご提示のような作業だとDo~Loopで十分かもしれませんが、
Dim MyFile As File
Dim FSO AS Object
Set FSO = CreateObject("Scripting.FileSystemObject")
For Each MyFile In FSO.Getfolder(Fol).Files
MsgBox MyFile.Name
Next Myfile
のような作業はDo~LoopとDir関数使っても出来るけど、
For~Nextの方が扱いやすいしコードも簡潔になりますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでの一時停止と再開の方法
-
ループフリー
-
EXCEL VBA ユーザーフォームの...
-
画面を強制的に再描画させる方法
-
テキストボックスの名前に変数...
-
DOSコマンドのループ内のTIMEコ...
-
UWSCの終了の仕方
-
乱数の桁数指定、または範囲指定。
-
CSVファイルの特定の行だけを読...
-
UWSCに制限時間を付けたいです
-
流れ図(フローチャート)が分か...
-
VBAでln関数の計算
-
VBA for i=1 to lastrow
-
DoEventsが必要な理由について
-
VBAでスロットを作る
-
Escキーを押すと、中断する時と...
-
objective-cの多重ループbreak
-
ボタンが押された時にループか...
-
VBAで3秒だけ時間を止めたい
-
pinched-loopってどんな路線形態?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
UWSCの終了の仕方
-
CSVファイルの特定の行だけを読...
-
範囲指定したセルを1つずつ飛...
-
UWSCに制限時間を付けたいです
-
Escキーを押すと、中断する時と...
-
乱数の桁数指定、または範囲指定。
-
VBA for i=1 to lastrow
-
流れ図(フローチャート)が分か...
-
DOSコマンドのループ内のTIMEコ...
-
pythonでファイルのコメント行...
-
素数表について。
-
VBAでの一時停止と再開の方法
-
「偶数・奇数の和」のフローチ...
-
DoEventsが必要な理由について
-
vb.netです。2次元配列の要素を...
-
Do whileでExitせず、ループの...
-
ループフリー
-
エクセルの当番表を作っていま...
-
VBAで3秒だけ時間を止めたい
おすすめ情報