ひそかな懸念
タイトルに書いたように、ExcelVBAでマクロを作成する方法を解説しようと思ったのですが、果たして需要ありますかね?
今回は途中で投げ出さずに、真剣に解説しようと思ってます。
ただし、そうすると記事作成に大幅に時間がかかるので、あまり需要がないのであれば、書くのはやめたいです。
せっかくアンケートフォームを入れたので、みなさんに質問してみます。
それで、需要がありそうなら、最後まで記事は書きます。
なさそうなら、途中でおしまい(笑)
質問

集計の途中経過
ExcelVBAの記事に興味ありますか?
- とても興味がある (76%, 19 アンケート)
- まったく興味がない (12%, 3 アンケート)
- 興味がある (8%, 2 アンケート)
- 興味がない (4%, 1 アンケート)
- どちらでもない (0%, 0 アンケート)
総投票数: 25

使用環境
Ver:Microsoft Excel 2010
使用ブラウザ:Internet Explorer10
この記事は、「Excelは使ったことはあるけど、VBAはわからない」という方を対象とします。
ですから、最低限の基礎知識はあるという前提で、解説を進めていきますね。
セキュリティーの設定
「ファイル」 ⇒ 「オプション」 ⇒
「セキュリティーセンター」 ⇒ 「セキュリティーセンターの設定(T)…」 ⇒
「マクロの設定」 ⇒ すべてのマクロを有効にするにチェック
推奨しません。危険なコードが実行される可能性があります
という注意書きがありますが、マクロを有効にしないとVBAは実行できません。
変なサイトで変なものをダウンロードしなければ大丈夫だと思うので、あまり気にしないでいいと思います。
といいつつも、一切の責任は持てませんので、あらかじめご了承ください。
これでセキュリティーの設定は終了です。
リボンのユーザー設定
「ファイル」 ⇒ 「オプション」 ⇒
「リボンのユーザー設定」 ⇒ 「開発」タブにチェック
リボンに「開発」タブが表示
すると、こんな感じで「開発」タブがリボンに表示されると思います。
これでマクロを作成する準備はOKです。
マクロとVBA
できるだけ専門用語を使わずに、超噛み砕いて説明してみます。
マクロとは、手作業で行うExcelの操作を、自動で実行する機能です。
全然、上手く説明できない(笑)
百聞は一見にしかず。実際にVBAを記述して、マクロを作ってみましょう!
VBAとは?
こんなふうに、いちいち用語の説明をしていたらキリがないですね…
必要最低限の情報だけを、書いていきます。
VBAとは、ExcelやWordなどのOffice製品上で、マクロを作るためのプログラミング言語です。
要するに、プログラミング言語の一種です。
汎用性が高く、なんでもできちゃうのがVBAの特徴。
その代わりC言語などと比べると、処理速度が遅いのかな?
標準モジュールの作成
モジュールとは、VBAを記述する場所です。
と、覚えておいてください。以下に、標準モジュールの作成手順を記します。
「開発」タブ ⇒ 左上の「visual Basic」(Alt+F11)
ウィンドウがあらわれるので「挿入(I)」 ⇒ 「標準モジュール(M)」
Module1
すると、こんな感じで標準モジュール(Module1)。
要するに、VBAを記述する場所を作ることができます。
では早速、この中に簡単なVBAを記述してみましょう!
コードの記述
先ほど作成した標準モジュール(Modrle1)に、以下のようにコードを記述します。
テストマクロのコード
下記のコードをコピペしてください。
本当は、自分で手入力した方がいいですけど。
Dim i As Integer
For i = 1 To 100
Cells(i, i) = “はじめてのマクロ”
Next
End Sub
テストの実行
では、今作ったマクロを実行してみましょう。
マクロを実行(R)⇒sub/ユーザーフォームの実行
もしくはF5で、マクロを実行します。
マクロの実行結果
すると、セルの中に「はじめてのマクロ」という文字が、ずらーと記述されます。
連続作業
マクロの最大の利点は、このような連続作業だと思います。
「はじめてのマクロ」という文字を、いちいち手作業でセルに打ち込んでいくのは大変です。
縦、横だったらドラッグできるけど、斜めにはできませんからね。
VBAでマクロを組むことにより、この程度の操作なら、一瞬で行うことが可能です。
プロシージャ
マクロとは、Excelのようなアプリケーションで、自動で作業を行う機能(プログラム)のことですが、VBAではマクロのことをプロシージャといいます。
マクロとプロシージャは、ほとんど同じ意味と思っておいてください。
このブログでは、Subから始まりEnd Subで終わる構文のことを、プロシージャと呼ぶことにします。
‘プログラム
End Sub
このように、subプロシージャ名()からEnd Subの間に、プログラムを記述していきます。
これは、決まり事のようなものとして覚えておいてください。
プロシージャ名は、使えない記号やルールがありますが、基本的には何でもOKです。
なので、日本語でも問題ないですが、英語で書いた方が見栄えはいいかもしれません。
長期戦の予感
やはり、記事を書くのに時間がかかる&長い!
そりゃそうだ。
ExcelVBAをしっかり解説しようと思ったら、本一冊書けてしまう。
なので、数ページに分けて書きますね。
とても興味がある、と言ってくださった方のためにも頑張ります(笑)
http://papipu2ch.blomaga.jp/articles/39437.html
これやってみてください
98%にはいりましたか?
>アッキー
お久しぶり!
つ~か、「赤いかなづち」なんて浮かばないでしょw
普通に、銀色のペンチが浮かんだわ。
理由を調べたら、バーナム効果で日本人には適さない問題みたいだね。
もっと面白い問題見つけて、出直しておいで!笑