見出し画像

Excel VBAでブロック崩しを作ろう!(初めてのVBAプログラム)第1回

本来であれば、VBAのことから始めるべきですが、ここでは、すべて無視して、必要な事だけを説明していきます。
つまり、「ブロック崩し」が作れれば良いということです。

ここでは、初めてプログラムを作る人を対象にします。従って、暫くは、「そんなこと、知っているよ」って、ことが続きます。そんな人は、適時読み飛ばしてください。

まずは、プログラムが作れる環境を確認します。

0.環境設定

VBAを作成する環境には、まず、リボンに「開発」を表示させる必要があります。
新規にExcelを起動して、左上の「Officeボタン」を押して、開いたウィンドウの最下部にある「Excelのオプション」をクリックしてください。
その中にある【「開発」タブをリボンに表示する】あるいは【「開発」】の前の四角い箱に☑を入れてください。
利用しているExcelのバージョンによっては、少し表示のされ方が違うかもしれません。リボンに「開発」のタブが表示されればOKです。

次に、「名前を付けて保存」を選びます。
その中の「Excelマクロ有効ブック」を選び、適当な名前で、Excelのブックを保存してください。ここでは、「Block」にしておきます。

Excelで、VBAを作って保存するためには、特別なファイル形式で保存する必要があります。一度、Excelを閉じて、開き直してください。

すると、マクロ有効ブックを開いたときは、「セキュリティの警告」が表示されます。自分が作っているファイルなので、「オプション」をクリックして、「このコンテンツを有効にする」にチェックを入れて、OKをクリックしてください。

次回以降も、同じ作業が必要ですので、覚えておいてください。また、自分の作ったものでない場合は、不用意に有効にしないようにしてください。ウィルスに侵されている場合があります。注意して下さい。

【Oneポイント】

「Alt[」+「F11」で、VBAを作る環境のウィンドウとExcelのブックとを切り替えることが出来ます。

それでは、簡単なプログラムを作ってみましょう。VBAで、プログラム(マクロ)を作るのには、直接VBAのコードを記述する方法と、「マクロの記録」で大まかなプログラムを作って、修正する方法があります。

最初ですので、「マクロの記録」を使ってみます。

「開発」タブをを押して、左端の「コード」の中の「マクロの記録」をクリックします。すると、「マクロの記録」のウィンドウが開きます。「マクロ名」や「保存先」などの入力する部分がありますが、すべて無視して、「OK」をクリックしてください。必要なら後で修正できますので、気にしないでください。すると、先ほどまで、「マクロの記録」だったリボンの表示が「記録終了」に代わります。作業の最後にこれをクリックして、記録を終わらせます。うっかり、放っておくと、余分なコードが記録されるので、注意して下さい。

ここでは、「B4」のセルをクリックして、右クリックで、色を赤色に塗りつぶしてみます。そのまま、終了します。つまり、「記録終了」をクリックします。

リボンの「コード」の左端の「Visual Basic」をクリックするか、「Alt」+「F11」のショートカットで、「Visual Basic Editor」のウィンドウに切り替えます。すると、下のようなコードが「標準モジュール」の中に出来上がっています。マクロの記録をクリックする度に、Macro1~数字が増えて行きますので、数字が異なっていても気にしないでください。また、不要な部分は、削除してください。その時は、「Sub Macro…」から「End Sub」までのブロックをまとめて、削除するようにしてください。

Sub Macro1()
'
' Macro1 Macro
'

'
    Range("B4").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

ここから先は

1,895字 / 2画像
テトリス、オセロなどのゲームを解説を付けながら、ExcelのVBAで作成します。 VBAが初めての人にも、分かるように解説したつもりです。 また、すべてコード(ソースコード)を付けています。

Excel VBA用でこれまで作ったゲームをまとめたものです。 プログラムは初めての人でも、内容が理解できるように解説を付けています。 す…

よろしければサポートお願いします!