• 締切済み

VBA Do Until Loopでエラー

VBAは全くの素人です。 マクロの記録とInterNetでVBAコードを探し、下記のように記しました。 VBAのデバッグ&ステップインで(動作)確認するのですが、素人の悲しさか、Do Until IF の行で「コンパイル&構文エラー」に引っ掛かり先に進めません。 どの様に修正したらよいのかnetを探すのですが見つかりません。(探し方が足りない?) コードの右側に ‘‥‥やりたい事のコメントを記しています。 どの様にコードを修正したらよいのか、ご指導願えませんでしょうか?。 他の部分についてもご指導頂けると助かります。 Sub 練習1() Dim i As Integer '‥‥変数(繰り返し回数のカウント) iを宣言 i = 0 '‥‥変数iをリセット(0)にする(繰り返し回数のカウント) Range("$F$8").Select ActiveCell.FormulaR1C1 = 0 '‥‥F8をリセット(0)にする Dim waittime As Variant '‥‥待ち時間設定宣言 waittime = Now + TimeValue("0:00:10") '‥‥待ち時間10秒に設定 Do Until If Range("$G$8").Value = "Out" Then '‥‥「Goodになるまで繰り返しなさい」 Calculate ‘‥‥繰り返し計算せよ Else: Range("$G$8").Value = "Good" ‘‥‥Goodになれば繰り返し(Loop)完了 IF Range("$G$8").Value = Interior.colorIndex = 36 '‥‥$G$8が"Good"ならばセル色を36にする '尚、G8セルの計算式は=IF(AND($I$25="OK",$I$26="OK",$I$27="OK",$I$28="OK",$I$29="OK"),"Good","Out") Range("F8").Select ActiveCell.FormulaR1C1 i = i + 1 '‥‥変数iを1増やす(繰り返し回数のカウント) waittime = Now + TimeValue("0:00:10") '‥‥待ち時間10秒に設定 End If Calculate Loop '‥‥G8が”Good” になればVBA終了 Range("G8").Select End Sub

みんなの回答

  • kkkkkm
  • ベストアンサー率66% (1747/2623)
回答No.1

正直言って全ておかしいと言っていいくらいだと思います。 とりあえず Do Until : Loop で「Goodになるまで繰り返し」だけのコードを作成してそれが正確に動いたらその他の機能を一つずつ追加していきましょう。 Do Until If という構文は無いと思いますから、再度Do Untilで検索して Do Until 条件式  条件式が偽(False)の場合に実行する処理 Loop このようなものだけではなく Do Until i = 4 MsgBox i & "回目のループです。" i = i + 1 Loop このようなサンプルコードをもとに作成してください。

Horishita
質問者

お礼

>Do Until If という構文は無いと思いますから、 そうなんですか、netなどに「Do Until 条件式」とありますので、この条件式が IF文かと思ったのですが。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A