Excel VBA While 繰返し処理 書き方

Excel VBA While文 コード例

Excel VBAで While 文を使った繰返し処理の書き方です。While は、下記コード例のように「While と Wend」間で処理を記述します。

Sub test()
    Dim i As Integer
    i = 1
    While i <= 100   ' i が100以内ならくり返す
        i = i + 1  ' i は1個づつ足されていく
    Wend
    Worksheets("Sheet1").Cells(1, 1).Value = i
End Sub

上記コードの場合 While〜Wendが1〜100まで繰り返され最後に iの中身をセルに書いています。セルには「101」が入ります。

VBAWhile文を使い九九表を作成するコード例です。

Sub kuku()
    Dim nodan As Integer   '○○の段
    Dim row As Integer      ' 行
    Dim kotae As Integer   ' 答え
    nodan = 1
     While nodan <= 9  '1 の段から9の段
        row = 1
        While row <= 9  '1行目〜9行目まで
            kotae = nodan * row '99の計算(掛け算)
            Worksheets("Sheet1").Cells(row, nodan).Value = Str(nodan) & "×" & Str(row) & "=" & Str(kotae)
             If nodan Mod 2 = 0 Then '段が偶数の場合
                Worksheets("Sheet1").Cells(row, nodan).Interior.Color = RGB(235, 240, 235) 'セルの背景色を変更する
             End If
             row = row + 1
        Wend
        nodan = nodan + 1
     Wend
End Sub
Excel VBA While〜Wend 実行結果

Excel VBAでファイルオープンダイアログを表示させる

Excel マクロの書き方

Excel VBAで下のようなファイルオープンダイアログを表示させるのはGetOpenFilename()コマンドで可能です。図形でボタンを作成しダイアログを表示させるマクロ実行までの手順です

Excel VBAでファイルオープンダイアログ
Excel VBAでファイルオープンダイアログ

Excelの[挿入|図形]で適当にボタンぽい図形を作成しておきます

[挿入|図形]でボタンを作成

図形が出来たら、その図形を右クリックし[マクロ登録]を選択

右クリックし[マクロ登録]を選択
右クリックし[マクロ登録]を選択

[マクロ登録]を選択すると下のような画面が表示されるので「マクロ名」に適当な名前をつけて[新規作成]ボタンをクリックします

「マクロ名」に適当な名前をつけて[新規作成]ボタンをクリック

[新規作成]をクリックするとVBA画面が表示されます

VBAここにコードを書く

コードを書くのは2行です

Sub FileOpenClick()
    Dim f As Variant
    f = Application.GetOpenFilename("テキストファイル,*.txt")
End Sub
VBAコードを書く箇所

上記のようにコードが書けたらVBA画面を閉じます

先程作成した[図形]までマウスを移動させると「指👆🏻」に変わっています ボタンをクリックするとファイルオープンダイアログが表示されました

[図形]にマウスを移動させると指マークに変わっている

「f = Application.GetOpenFilename(“テキストファイル,*.txt”)」この行の変数「f」に返り値が入るのでSheet1の1行目1列目セルに変数fに入った値を入れたコードは下記例です

Sub FileOpenClick()
    Dim f As Variant
    f = Application.GetOpenFilename("テキストファイル,*.txt")
    Worksheets("Sheet1").Cells(1, 1).Value = f
End Sub

Worksheetsからの1行が増えて3行のプログラムになりました。実行すると変数fに入っていた値がセル[A1]に入りました

セル[A1]にオープンダイアログで選択したファイル名が入りました

2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED