「xlsx」タグアーカイブ

【Microsoft Office Home and Business 2010】ExcelでVBA(マクロ)を使う為の準備


マクロを使う為の準備作業

Microsoft Office Home and Business 2010でExcelマクロを組む為には、いくつか準備をしておく必要があります。名前が長いので以下は、Office 2010と略します。

その手順をまとめておきます。

ファイルの拡張子をxlsmに変更する

メニュー > ファイル > 名前を付けて保存

ダイアログが起動したら

ファイルの種類(T):でExcel マクロ有効ブック(*.xlsm)を選択しファイルを保存します。

するとファイルの拡張子が xlsx → xlsm として保存されます。

Office 2010でVBAの開発を行う場合、事前に必ずxlsmのファイル形式にしておきましょう。

メニュー見出しに開発タブを表示する

初期状態では、開発タブがありません。

Excelでマクロ(VBA)を組む場合、事前に開発タブを出しておく必要があります。

メニュー > ファイル > オプション > リボンのユーザ設定

Excelのオプションというダイアログが起動します。

開発にチェックを入れます。

OKを押します。

するとメニューに開発タブが追加されます。

マクロを組む場合には、この開発タブの中から必要に応じた項目を選択して利用していきます。

なお、余談ですがVisual StudioなどでC#を使ってコーディングをする時には、「プログラムを組む」と言いますが、VBAでコーディングをする場合、「マクロを組む」という表現が使われます。

なぜかは不明です。どっちでも良いでしょう。

マクロ実行時のトリガーとしてボタンを使う方法

ユーザが[実行]ボタンを押した時に定義したマクロを実行する様な場合には、

開発タブ > 挿入 > フォームコントロール

よりボタン(フォームコントロール)をクリックしExcelシート状で適当な大きさにドラッグします。

ボタンをクリックすると↑の様な表示になります。

〇の部分をドラッグする事でサイズ変更を行う事が出来ます。

また、文字列の編集をする場合、文字の部分をクリックすると文字列を編集する事が出来る様になります。

ボタンにマクロを割り当てる方法

ボタンの上で右クリック > マクロの登録(N)…

定義済のマクロを選択しOKボタンを押します。

ここでは、テストというマクロを既に定義しています。

これで実行ボタンが押された場合には、「テスト」のコードが実行されます。

マクロブックを保存しようとした時に、「プライバシーに関する注意:」が出た場合

初めて作成したマクロブックを保存しようとした時に

プライバシーに関する注意:このドキュメントには、マクロ、ActiveX コントロール、XML 拡張パックの情報、または Web コンポーネントが含まれています。これらはドキュメント検査機能で削除することができない個人情報が含まれる場合があります。

といったエラーメッセージが表示される場合があります。

この表示を消す方法は

メニュー > ファイル > オプション > セキュリティセンター > セキュリティセンターの設定(T)… >プライバシー オプション >

ファイルを保存するときにファイルのプロパティから個人情報を削除する(R) 

のチェックを外します。

これでマクロを保存する時におせっかいな確認ダイアログが表示されなくなります。

フォームに設定したボタンのサイズを変更するには?

ボタンの上で右クリック  > コントロールの書式設定(F)

ダイアログが起動したら「サイズ」タブを選択します。

そして「高さ」「幅」をcm単位で指定すればOKです。

手動でドラッグしてサイズ変更をしようとしてもなかなかきっちりサイズを合わすのは難しいです。そこで、この様に直接数値を入力するのが確実です。

フォームに設定したボタンを整列するには?

ボタンを複数設置した場合、ボタンの端と端の位置を揃えた方が見栄えが良くなります。しかし、手動でやってもなかなか綺麗に揃わないのですが、以下の手順を行えば自動で揃えられます。

まず、

Control ボタンを押しながら整列したいボタンを複数選択します。

続いて

ページレイアウトタブを選択します。

その中から「配置」を選択します。

左揃え、左右中央揃え、右揃え、上揃え・・・

用途に応じて選択します。

私が一番使っているのは

左右に整列 + 上下中央揃え

です。この2つを行えば大体ボタンが良い感じで整列されます。

Excel関数は、VBAさへ覚えていれば覚える必要が無い

Excelには色々な関数が定義されています。

しかし、いちいちあんな関数群を覚える必要はありません。

基本的な、SUM・AVERAGE・ROUND関数当たりを覚えておけばOKです。

なぜなら、VBAさへ理解しておけば自分で必要な関数を独自の名前、俺俺関数を定義する事が出来るからです。

最後に

今回は、VBAを初めてExcel2010で組む人に向けてかなり基本的な事のみ解説してみました。

他にも色々と便利な使い方・効率の良い開発方法など色々とノウハウがあります。

私が忘れそうになったらノウハウツリーにメモっていきます(^^)b