VBA記事8. MsgBox

 


**************************************

Sub 合計計算()


Dim i As Variant ' variant でなくLongでも可能

Dim SUMRANGE As Variant ' variant でなくRangeでも可能

Dim x As Variant


Set SUMRANGE = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))

' Set SUMRANGE = Range(Cells(1, 1), Cells(10, 1))


x = (Application.WorksheetFunction.Sum(SUMRANGE))

MsgBox x


End Sub

**************************************

ボップアップでメッセージが出るようになります。




**************************************

Sub 合計計算()


Dim i As Variant ' variant でなくLongでも可能

Dim SUMRANGE As Variant ' variant でなくRangeでも可能

Dim x As Variant


Set SUMRANGE = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))

' Set SUMRANGE = Range(Cells(1, 1), Cells(10, 1))


x = (Application.WorksheetFunction.Sum(SUMRANGE))

MsgBox "合計値は" & x & "です" & vbLf & _

"x" & x, vbOKOnly, "合計結果"


End Sub

**************************************


ダブルコーテーションで囲むと日本語や、その文字を出力できます。

ダブルコーテーションで囲まないと、変数を出力します(今回はxの中身を出力)

vbLfというコマンドでMsgBox内で改行を行います。

また、vbOKOnly,タイトル で ポップアップウィンドウのタイトルを変更できます。


また緑の文字はコメントです。これはシフトキーを押しながら数字の7を押すシングルコーテーションでコード内に打つことが出来ます。

これを打つことで、そのシングルコーテーションから後は、プログラミングコードとして読み込まれなくなるので、どんな処理をしたかなどのコメントを書いたりするときに使われます。


Subの後の名前は基本的に1つしかつけれませんので、名前が重複している場合はエラーになりますので注意してください。




**************************************

Sub sanple9_1()

Dim answ As Variant 'variantでなくてVbMsgBoxResultでも可能

answ = MsgBox("A列とB列の文字を赤色にしますか?", vbYesNo + vbQuestion)

If answ = vbYes Then

MsgBox "処理を続けます"

Columns("A:B").Font.Color = vbRed

Else

MsgBox " 処理を中止します"

End If

End Sub

**************************************

また、上記のように書くことで「はい」と「いいえ」で条件を分岐させることも可能になります。

VbYesの部位をvbNoと記述することでNoの処理をすることもできます。



コメント