エクセルVBAでdo-while文
VBAプログラミング言語はDoWhileループをサポートしています。この記事では、ExcelVBAでDoWhileループを使用する方法を学習します。
DoWhileループの構文
VBA Do Whileループには2つの構文があります:
エントリ制御DoWhileループ
Do While Condition 'Statement1 'Statement2 '-- '-- 'StatementN Loop
この構文では、最初に条件がチェックされます。条件が一致した場合、コントロールはループに入り、そうでない場合、ループは終了します。
終了制御DoWhileループ
Do 'Statement1 'Statement2 '-- '-- 'StatementN Loop While Condition
この構文では、制御は最初にループに入ります。各タスクを実行した後、VBAは最後に状態をチェックします。条件がTrueの場合、Do Whileループが続行され、そうでない場合、ループはすぐに終了します。ループを少なくとも1回実行する場合は、この構文を使用します。
例:2枚だけが残るまでシートを削除するこの例では、VBA Do Whileループを使用してワークブックに2枚だけが残るまで、各シートを1つずつ削除しようとします。
Sub WhileTest() Application.DisplayAlerts = False Do While Sheets.Count > 2 ActiveSheet.Delete Loop Application.DisplayAlerts = True End Sub
上記のサブルーチンは、最初にワークブックに2枚以上あるかどうかをチェックします。ブックに3つ以上のシートがある場合、コントロールはループに入り、現在のアクティブシートを削除します。ループは、残り2枚になるまで続きます。
ブックにすでに2枚または1枚しかない場合、コントロールはループに入りません。何も起こりません。
ブックに2枚しかない場合でも、ループの開始時に少なくとも1枚のシートを削除したい場合は、exitコントロールのdowhileループを使用します。
Sub WhileTest() Application.DisplayAlerts = False Do ActiveSheet.Delete Loop While Sheets.Count > 2 Application.DisplayAlerts = True End Sub
上記のサブルーチンは、最初に1枚のシートを削除し、次に何枚のシートがあるかをチェックします。それらが2シートより大きい場合、ループは続行されます。ブックの残りが2枚以下の場合、ループは終了します。
ここでの主なポイントは、このループが少なくとも1回実行されることです。
これを使用して、ユーザーに質問することでいくつかのタスクを繰り返すことができます。たとえば、ユーザーにパスワードを要求できます。そして、彼が正しいパスワードを入力するか終了するまで、彼をループさせます。このシナリオでは、少なくとも1回はユーザーにパスワードを要求する必要があります。
注:アプリケーションオブジェクトのDisplayAlertプロパティを使用して、アラートを無効にしました。 it link:/ files-workbook-and-worksheets-in-vba-delete-sheets-without-confirmation-prompts-using-vba-in-microsoft-excel [here]
.について読むことができます。 、これはExcelVBAのDoWhileループでした。それが十分に説明的だったと思います。このクエリまたはその他のExcel365 / 2019/2016関連のクエリについて疑問がある場合。以下のコメントセクションで質問してください。
関連記事:
link:/ vba-for-loops-with-7-examples [Microsoft ExcelVBAでのForループの7つの例]
| forループは、あらゆるプログラミング言語で最もよく使用されるループ手法です。 VBAでは、Forループはいくつかの方法で使用できます。
VBAのIfElseIfステートメント| If ElseIfは、条件付き出力を返すための基本的な条件チェック手法です。
link:/ files-workbook-and-worksheets-in-vba-delete-sheets-without-confirmation-prompts-using-vba-in-microsoft-excel [MicrosoftExcelのVBAを使用して確認プロンプトなしでシートを削除する]
:*シートを削除すると、確認のプロンプトが表示されます。それを無効にするには、アプリケーションを使用します…
link:/ menus-toolbars-status-bar-in-vba-display-a-message-on-the-statusbar-using-vba-in-microsoft-excel [ExcelのVBAステータスバーにメッセージを表示する]
|ステータスバーにメッセージを表示するには、ApplicationオブジェクトのStatusBarプロパティを使用します。
人気の記事:
link:/ keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [生産性を高めるための50のExcelショートカット]
|あなたの仕事をより速くしてください。これらの50のショートカットにより、Excelでの作業がさらに高速になります。
link:/ forms-and-functions-introduction-of-vlookup-function [ExcelのVLOOKUP関数]
|これは、さまざまな範囲やシートから値を検索するために使用される、Excelの最も使用され人気のある関数の1つです。
link:/ Tips-countif-in-microsoft-excel [COUNTIF in Excel 2016]
|この驚くべき関数を使用して、条件付きの値をカウントします。特定の値をカウントするためにデータをフィルタリングする必要はありません。
ダッシュボードを準備するには、Countif関数が不可欠です。
link:/ excel-formula-and-function-excel-sumif-function [ExcelでSUMIF関数を使用する方法]
|これは、ダッシュボードのもう1つの重要な機能です。これは、特定の条件で値を合計するのに役立ちます。