エクセルマクロの入口です  動画 エクセルマクロ① マクロの入口 YouTube
1.マクロを作るための基礎の基礎   マクロ練習用1
 「Sub」で始まり「End Sub」で終わるプログラムの一つの塊をマクロといいます。エクセルでは、このプログラム言語にマイクロソフト社が開発している「ビジュアルベーシック(Visual Basic)」を使用します。
  上の「マクロ練習用1」ボタンを押して、マクロ練習用ファイルを開いてください。
   マクロを作るには、まず、リボンのタグ(一番上のメニュー)に「開発」メニューを表示する必要があります。リボンのタグの一番左にある「ファイル」をクリックします。

 一番下の「オプション」をクリックし、次に「リボンのユーザー設定」をクリックします。右側の「メインタブ」の「開発」にレ点をつけます。最後に「OK」を押すと、リボンのタブに「開発」が表示されます。
  

 マクロはプログラムの塊のため、ウィルスの疑いがかけられます。初めて開くエクセルはマクロに対してセキュリティーがかけられています。そこでマクロのセキュリティーレベルを下げる作業が必要になります。これは毎回やる必要はありません。一度やれば、ずっとその状態が続きます。先ほどの「開発」を表示する作業も同じです。一度だけでよいです。
 まず「開発」をクリックし、「開発」にあるメニューを表示します。その中の「マクロのセキュリティー」をクリックします。

一番下の「すべてのマクロを有効にする」が選択されているか、確認してください。もし選択されていない場合は、選択し、一度エクセルを終了させてから、再起動させる必要があります。

 それでは、いよいよマクロの入力です。まず一番左の「VisualBasi」をクリックします。

 下の左の図のような画面が出てきます。「ThisWorkbook」の下あたりでマウスを右クリックします。すると下の右の図のようなメニューが表示されます。マウスを「挿入」のところに移動させていきます。
 
 「ユーザーフォーム」「標準モジュール」「クラスモジュール」の3つが出てきます。「ユーザーフォーム」はなかなか面白いのですが、今回は基本的な「標準モジュール」を選択します。「標準モジュール」を選択すると、右の画面が黒から白に変わります。この白に変わった画面にプログラムを書いていきます。
 
 セルA1に「静岡県」と入力するマクロを作ってみます。マクロを書き終えたら、右上の「×」を押して「Visual Basic」を終了させてください。

 実行ボタンを作ってみます。「開発」の中の「挿入」をクリックしてください。


 「フォームコントロール」と表示されたメニューが出てきます。左上の四角が実行ボタン作成のアイコンです。これをクリックして、表の適当な場所にマウスをドラッグして四角を作ります。マウスを左ボタンから指を離すと、四角が消えて、「マクロ名」と表示された画面が出てきます。先ほど作成した「練習」というマクロを選択し、「OK」を押します。すると「ボタン1」が自動的に作成されます。ボタンを右クリック「テキストの編集」で名前、「コントロールの書式」でフォントや文字色を変えることができます。そして「ボタン1」をクリックすると、セルA1に「静岡県」が表示されます。
  
 「ボタン1」右クリックして、表示されたメニューの「テキストの編集」を選択し、「ボタン1」を「静岡県」に変更し、好きな場所に移動してください。
 
※ボタンがなくてもマクロは実行できます。「開発」のメニューの「マクロ」をクリックして、実行したいマクロを選択し、「実行」を押します。
※画像や図形、ワードアートをボタンにすることもできます。カラフルなボタンを作るのは楽しいです。
※「Visual Basic」の画面を出すときも、「開発」のタグからでなくても、Altキー+F11キーでいきなり出すこともできます。


2.保存は通常でなくマクロ有効ブックで行いましょう

 エクセルにはいろいろな保存形式があります。通常の保存形式のExcelブック(拡張子.xlsx)ではマクロは無効になり、せっかく作ったマクロが消えてしまいます。左下のメッセージが表示されるます。マクロが有効になるのは、Excelマクロ有効ブック(拡張子.xlsm)かExcel97-2003ブック(拡張子.xlsm)です。ファイル容量が小さくなるので、できるだけファイルの種類でExcelマクロ有効ブックを選択して保存してください。
 

3.セルと範囲の表し方

 マクロでのセルと範囲の表し方は、それぞれ2通りあります。
    セルC5を表す場合   Range("C5")     Cells(5,3) ※Cells(行番号,列番号)
    セルB1~C5の場合  Range("B1:C5")    Range(cells(1,2),Cells(5,3))
  固定で使う場合はRangeの方がよいのですが、変数が入るとCellsの方がよいです。表示が長くなって面倒ですが、Cellsで統一した方が楽かもしれません。

                      マクロ実践1へ