職業訓練で取得した エクセル VBA ベーシックの基礎知識を解説

マクロとVBAwork

マクロを使いこなせれば作業効率が劇的に上がります。

同じことの繰り返しならマクロを覚えましょう

Excelのマクロの存在は知っていました。

マクロのイメージはボタンを押せば一瞬で作業が終了する。

それぐらいのイメージしかありませんでした

マクロを組むための、プログラムがよくわからない

せっかく

職業訓練を受けるなら難しいマクロ/VBAにチャレンジしようと思い

職業訓練、募集時にマクロ/VBAと書いてあった訓練に申込をして

修了したのでExcelVBAの初歩段階をまとめてみました

スポンサーリンク

結論:VBAはExcelを持っていれば使うことができます

VBAはExcelを持っていれば誰でも使うことができます。

マクロとVBAはまったくの別物です。

  • マクロとは
    あらかじめ決めておいた手順で実行する
    機能の名前
    
  • VBAとは
    Visual Basic for Applicationsの略で
    マクロ言語の名称
    
  • VBEとは
    Visual Basic Editorの略でマクロを作成、編集する
    専用アプリケーションの名称

この記事では、VBAエキスパート公式テキストの初歩段階

VBEを使うための初期設定をピックアップしてみました

記事を読んで、VBA資格取得、勉強方法に興味が出た方は

エクセルVBA資格を取得した勉強方法はこちらを参考にしてみてください

VBAプログラム、職業訓練、就職活動にパソコンが必須です

パソコンは持っているけど

  • 古いパソコンで動作が遅い
  • 新しいパソコンが欲しいけど値段が高くて諦めた
  • どのパソコンを選んでいいかわからない

とお悩みの方は中古パソコン購入をおすすめします

値段も安くサクサク動き問題がなかったです

Excelマクロとは

マクロとVBAはまったくの別物です。

「マクロ」とは、Excelや他のアプリケーションなどの

一連の操作をあらかじめ決めておいた手順で

実行する機能の名前を「マクロ」と言います。

頻繁に繰り返す作業があると思います

繰り返す作業をマクロに記録すると効率的になります。

マクロを作成する大きなメリットは

  1. 作業時間の短縮
  2. 操作ミスの防止
  3. 誰でも操作可能になる

VBAとVBE

「VBA」とは、Microsoftが開発したプログラミング言語「Visual Basic」

を元に、ExcelやWordなどの「Applications」を

使用できるようにしたものがVBA(Visual Basic for Applications)です。

Excel VBAを自在に使いこなすには

エクセルの基本操作・ワークシート関数などのExcelの知識が必要です。

イマイチ・・・わかりにくい

VBAの他にVBEがあります。

VBEとは、Visual Basic Editorの略

マクロを作成したり編集したりする

専用アプリケーションの名称で

Excelを購入していれば付属しているけど

初期設定では表示されない設定です

簡単に言うと

  • VBA=マクロ言語
  • VBE=編集画面

VBE画面の出し方

Excelの開発タブは初期設定では表示されていません

VBE画面を出すために「開発」タブを追加します。

1.Excelを立ち上げます

2.「ファイル」タブをクリックします。

3.下の方にある「オプション」をクリックします。

4.Excelのオプションから
  リボンのユーザー設定メインタブにある「開発」に 
  チェックを入れ「OK」をクリックすると開発タブが表示されます。

VBE 画面

開発タブを表示したので

開発タブから→Visual Basicをクリックします

VBE画面が表示されます。

VBE構成画面は3つで構成されています

  • プロジェクトエクスプローラ
  • プロパティウインドウ
  • コードウインドウ

この配置がデフォルトのウインドウの配置です。

VBE画面調整をしようとしてVBE画面が崩れてしまった方

VBE画面を戻すポイントをまとめましたので参考にしてください

プロジェクト エクスプローラ

ブックを構成する要素を階層的に管理するウインドウで

ひとつのエクセル(ブック)をひとつの「プロジェクト」として管理します

プロパティ ウインドウ

色、サイズ、など処理対象になるものの特性を「プロパティ」と言います

プロパティの状態を表示しているのがプロパティウインドウです

コード ウインドウ

プログラムを表示する領域です。

コードウインドウの中に

Subプロシージャー(プログラム)を書いていきます

VBA オプション

マクロを書き始める前に

VBEに設定しておくオプションがあります。

必ず、最初に設定しておいてください。

VBEを開き「ツール」→「オプション」をクリックします。

クリックしたら編集タブを確認してください。

  • 自動構文チェック」にチェックは外して下さい。
  • 変数の宣言を強制する」に、チェックをしてください。

この2か所を確認してください。

その他はデフォルトのままで大丈夫です。

VBA 自動構文 チェック

自動構文チェックとは

書いているソースコードをその都度チェックして

構文上に間違いがあると

メッセージを表示してくれる機能ですが

長い記述をしているときに

メッセージがいちいち表示されると邪魔なのでチェックを外しておきます

変数の宣言を強制する

条件処理分岐、同じ処理の繰り返しなどしていくと

コードが複雑になってきますので

少しでもわかりやすくするために「変数」を設定します

「変数」とは、値の入るボックスを作ることで

プログラム作成者がわかりやすくなったり

変数に入れた値をあとから使えるようできます

変数を宣言しなくても動くのですが

変数宣言をしないと誤作動を起こすので

あらかじめ変数宣言を強制させます

オプションの「変数の宣言を強制する」に、チェックを入れると

標準モジュールの先頭にOption Explicitが自動で挿入されます。

これは、「変数は必ず宣言してから使います」

とエクセルに宣言をしているので

変数を宣言しない場合エラーが出ます。

 



sub プロシージャ と は

VBAではモジュールに記述されたプログラムの事をプロシージャーといいます。

Subから End Subまでがひとつの実行単位を表し

Subプロシージャーは、マクロをひとつにまとめたものです。

Subプロシージャーの中に記述する一つ一つのプログラムをステートメントと言います。

Sub

Subプロシージャという名前は「Sub routine」からきています

  • Routine=決まっている、繰り返しの作業
  • Sub=副次的、かわりに

Subプロシージャー注意点

VBEでコードを入力する時は

  • アルファベットの子文字、大文字を意識しないで入力
  • 予約語という使えない単語がある
  • シングルコーテーション ’ をつけると実行されない
    1. アルファベットの子文字、大文字を意識しないで入力します。
      スペルが正しいと自動で大文字、小文字に変換します
      自動変換しない場合はスペルが間違っています。

    2. VBAでは予約語という他の目的では使えない単語があります。
      自動で予約語は青くなります。

    3. コードに説明文をつける時はコメントにします
      シングルコーション ‘ をつけると
      その行がコメントになり実行されなくなります。
      実行されないプログラム コメントは緑文字で表示されます。

    変数の宣言

    変数の宣言にはDimステートメントを使用して宣言します。

    変数を入れるボックスにはタイプ(型)があります。

    Dimステートメントは

    Dim 変数名 [As データ型]で指定します。

    例:Dim i As Long

    データ型を最初に覚えるとしたら

    • 整数:Long
    • 文字:String
    • なんでも入る:Variant


    マクロ(VBA)ではデータ型を指定しないと、Variantになります。

    valiant型は、なんでも使える便利なタイプですが

    コードが複雑になってくるとデータ型の宣言をしないと誤作動するので

    変数に対応したデータ型を宣言します

    変数名規則

    変数をあらかじめ宣言しないといけないですが

    宣言する変数名には決まりがあります。

    • 1文字目は、文字列を使用する
      (1文字目に数字、_アンダーバー、記号は使用できない)
    • 2文字目以降は、文字列アンダーバーのみ使用可能
      (ピリオドやスペースは使用できない)
    • 変数名の長さは、半角で255文字以内にする
    • VBAが意味を持たせている単語、予約語は使用できない
      (ステートメント、オブジェクトプロパティ、メソッドの名称)

    以上は最低限の決まりで

    エラー表示されなければ問題ありません。

    なるべくわかりやすい変数名を付けるのがポイント

    VBAプロシージャー 構成要素

    Subプロシージャーの中にあるステートメントは

    • オブジェクト
    • プロパティ
    • メソッド

    で構成されています。

    VBAオブジェクト

    処理するものをオブジェクトといいます。

    オブジェクトには

    • ブック
    • シート
    • セル

    などがあり

    親子関係の階層構造で表現できるので何を処理するか表します。

    オブジェクトの階層構造

    Application アプリケーション

     ↳ Workbook ブック

       ↳ Worksheet シート

         ↳ Range セル

    セルの親は、シート、シートの親はブック・・・

    上位階層から「.(ピリオド)」で区切られています。

    ピリオドとドット
    • 「ピリオド(period)」は、英語などの横書き文書で文の終わりに打ちます。
        「.」を「終止符」という意味で使います。
        言葉にピリオドを使います。
    • 「ドット(dot)」は、デジタルの世界で
       区切り記号の名称として使います。
       単語を区切る場合、ドットを使います

    VBAオブジェクト コレクション

    同じオブジェクト(ブック・シート・セル)が集まると

    コレクションといい

    オフジェクトを複数形で表現します

    ワークシート3枚の中から「sheet3」を選ぶ・・・

    Worksheets(“sheet3”)

    のようになりますが・・・

    オブジェクトだけでは何も操作できません。

    オブジェクトを操作するためには「プロパティ」と「メソッド」が必要になります。

    vba プロパティ

    オブジェクトが持つ特徴(属性)をプロパティといいます。

    プロパティには

    • 大きさ
    • フォント

    などが入ります。

    プロパティーは対象となるオブジェクトの後にピリオドで区切って入力します。

    コードを読む時に覚えておくと読みやすくなるポイントです

    • .(ピリオド):~の 
    • =(イコール):~を○○にする

    vba メソッド

    メソッドとはオブジェクトを操作する命令文のことで

    オブジェクトの動作を指示します。

    例えば「削除」「コピー」「貼り付け」などがメソッドになります。

    メソッドにはいくつかの「実行に対する」オプション設定ができます

    このオプションのことを引数といいます。

    「引数」をさらに指定する場合は、「=」ではなく「:=」を使います。

    「:=」を名前付き引数といいます

    まとめ

    職業訓練をきっかけにVBAについてまとめてみました

    VBAエキスパート公式テキストの初歩段階

    Excel VBAエキスパートBasic(ベーシック)

    教科書の冒頭に出てきます。

    VBA資格取得、勉強方法に興味が出た方は

    エクセルVBA資格を取得した勉強方法はこちらを参考にしてみてください

    VBAはExcelを持っていて設定さえすれば

    誰でも使うことができます。

    気軽にプログラムを組んでみることができるので

    チャレンジしてみてください。

    VBAプログラム、職業訓練、就職活動にパソコンが必須です

    最後まで読んでいただきありがとうございました

    コメント

    タイトルとURLをコピーしました