VBAはじめの一歩

YouTube VBA
【EXCEL VBA】VBAはじめの一歩 セル、変数、繰り返し、条件分岐、最終行、実行ボタン、宣言 これだけでマクロの基礎を取得! VBAから〇〇が消えた!? VBAから消えたものとは?
EXCEL VBA初級編です。むずかしい言葉は使わず、やさしく詳しく丁寧に解説しています。これからプログラムを始めたい方、VBAに一度挫折した方も挑戦してみてください。これだけでプログラミング・VBAの基礎を取得できます。一緒にやってみてください。必ずできますよ!EXCEL初級編・中級編の内容をある程度理解してか...

<この動画で学べる事>
マクロの初期設定、VBEの起動 実行 セルの参照方法 セルの値の代入 変数 シート間のセルの参照 繰り返し 終了判断 コメントブロック Nullとは 最終行の取得方法 Exit for、Exit Sub ボタン作成 シートの選択 変数の宣言 整数とは 整数の表示範囲 オーバーフロー 変数の強制宣言 マクロファイルの保存方法

マクロの初期設定

マクロを始める準備をしましょう!
ファイル→オプション→ セキュリティーセンター あるいは トラストセンター

セキュリティーセンターの設定あるいは、トラストセンターの設定から

マクロの設定で 2番目の
警告を表示してすべてのマクロを無効にする を選びます

マクロの設定警告を表示してすべてのマクロを無効にする を選んだので、
マクロブック開くとき1度だけ、このような表示がでます

自分で作ったマクロ等、内容がわかっているもの以外有効にしないようにしましょう!

作成したマクロであれば、マクロを有効にするを選んでください
有効にしなければ、マクロを実行できません

ファイル→オプション
リボンのユーザー設定で、開発に✓を入れてください

これで、マクロが使えるようになります

開発タブが表示されていますね!?
Visual BasicからVBAを開始できます

シートの作成

会社情報と言う名前のシートを追加します
このデータを招待状に差し込んでいきます

シート欄の+ボタンをを押すと新しいシートが作成されます

データの内容は…
4行目から始まるB列会社名C列部署~という様に、データの位置は同じにしてくださいね

シート名は 会社情報です
シート名を変える方法は、シート名を右クリック名前の変更を選ぶか、
シート名をダブルクリックし、選択された状態でシート名を入力してください。

招待状というシートも作ってください
内容は同じものでなくても、シートだけあればいいです

下準備ができました
いよいよマクロを始めますよ~

VBEの起動

VBE(Visual Basic Editor)を起動します
まず開発タブのVisual Basicを押してください
ショートカットキーAlt+F11でも起動できます

なにやらむずかしそうなのが出てきましたが…

気にせずいきましょう~
(ファイル名は、名前を付けて保存するまでは、Book1.xlsx等となっています)

プロジェクトエキスプローラとプロパティウインドウの表示の仕方

このような表示が出ない人は、表示から、プロジェクトエクスプローラーを選びます
プロパティウインドウも選択しておきましょう

プロジェクトエクスプローラに、
今作成した会社情報招待状シートが表示されているはずです

モジュールの追加方法

プログラムを作っていきましょう!
プログラムを作成する場所を確保します

挿入→標準モジュールを選びます

Module1 ここにプログラムを作成します

Subの書き方

Sub 招待状 と入力し、Enterを押します
プログラム名の後ろに()かっこが付き、End Subと追加されます

招待状はプログラム名です
すきな名前をつけて下さい

SubとEnd Subのなかにプログラムを書いていきます

Msgbox関数

メッセージボックス関数とは、メッセージボックスを表示するための関数です
メッセージやセルの値などを表示するのに使います

Sub 招待状()
    MsgBox "MsgBoxの練習です"
End Sub

実行

ユーザーフォームの実行キーを押します
F5キーでも実行します

セルの参照方法

列番号数字で表示することもできます
ファイルオプション数式
数式の処理 R1C1参照形式を使用するに✓を入れます

セルの値

セルの情報
表示する値、セルの文字の色、背景色、罫線etcたくさんの情報を持っている

この中のセルの値は…
Range(“番地”).value あるいは Cells(行,列).value

ただし、.valueは省略できます

省略して使う場合、.Valueが省略されていることを覚えておいてくださいね!

コメント

コメントは、式の前に ’ (シングルコーテーション)を書きます
表示が緑にかわります
シングルコーテーション以下の行のプログラムは実行されません

・プログラムの説明
・変数の意味
・一時、実行したくないもの
 に使います

セルの値の代入

Cells(10, 2) = Range(“b4”)
b4セルの値、A株式会社を10行2列に代入します

このは、代入演算子といいます
右辺の内容左辺に代入します


左辺 ← 右辺


普通の数学で使うイコール=とは違うことに注意してください

イコールより左向き矢印のイメージです

シート上にも書き出すことができました!

変数

変数は、よくにたとえられます

数値や文字列をこの箱に入れて、使うことができます
また、変数は名前を付けて使います
この名前を変数名と言います

i=Range(”C4″) 
Range(”C4″)の値を変数 i に代入します

MsgBox 文字列と変数の連結表示

Sub 招待状()
    i = Cells(4, 3)
   MsgBox "Cells(4, 3)=" & i

End Sub

セルの位置も変数を使って…

Sub 招待状()
    i = 4
    j = Cells(i, 4)
   MsgBox "Cells(4, 4)=" & j

End Sub

RangeでもCellsでも、変数を使ってセルの値を取り出すことができましたね!

インデント(字下げ)

プログラムを読みやすくするためです

あるいは、Tabキーでも

今はあまり効果ありませんが、プログラムが長くなると必須です
後々、頻繁に出てきます~

シート間のセルの転記

これまでの知識を使って、招待状シートを作成していきましょう

会社情報シートのデータを招待状シートへ転記していきます

会社情報と招待状は別シートです
違うシートに代入するので、何番のセルと言っても、どのシートの何番のセルかわかりません

ですので、セル情報の前にシート名の指定が必要です

会社情報シートのセル番地の値を招待状シートのセル番地に!

セル情報の前にWorksheets関数を加えます
Worksheetsの最後のを忘れずに複数形にします

コメントブロック

まとめてコメントに…

シート間のセルの転記

Worksheets(“招待状”).Range(“b5”) Worksheets(“会社情報”).Range(“b4”)

このデータを…

こちらに転記!

あとのデータも同様に招待状の対応するセルに転記していきます

Sub 招待状()
    
    '郵便番号
    Worksheets("招待状").Range("b3") = Worksheets("会社情報").Range("d4")
    '住所
    Worksheets("招待状").Range("b4") = Worksheets("会社情報").Range("e4")
    '会社名
    Worksheets("招待状").Range("b5") = Worksheets("会社情報").Range("b4")
    '部署
    Worksheets("招待状").Range("b6") = Worksheets("会社情報").Range("c4")
    '電話番号
    Worksheets("招待状").Range("b7") = Worksheets("会社情報").Range("f4")
    
'    i = 4
'    j = Cells(i, 4)
'   MsgBox "Cells(4, 4)=" & j

End Sub

A株式会社の招待状ができた!

右辺をCellsで表してみましょう!
会社情報シートをR1C1形式で表示します

Cells(4, )の4は、4行目の4です
A株式会社を表します

4を5に変えれば、B株式会社を表します

行番号変数を使ってみましょう!

i の値を 4~8に変更していけば、A株式会社~E株式会社まで転記することができる

PrintPreviewPrintOut

PrintPreview:印刷イメージを表示します
PrintOut  :印刷します   
    
       
Worksheets(“シート名”).PrintPreviewあるいは
Worksheets(“シート名“).PrintOutを指定します

PrintOutする前にPrintPreviewで印刷イメージを確認しましょう!

 Breakキー  Nullとは インデントを戻す   シートの選択(Select,Activate)

繰り返し For Next

終了判断 If Then Else

フローチャート

Exit for、Exit sub

最終行の取得方法

ボタン作成

図形からボタン作成

変数の宣言

整数とは

宣言の意味

整数の表示範囲 オーバーフロー

変数の強制宣言

マクロファイルの保存方法

Option Explicit
Sub 招待状()
    Dim i As Integer
    
    For i = 4 To Cells(Rows.Count, 2).End(xlUp).Row
    
        '郵便番号
        Worksheets("招待状").Range("b3") = Worksheets("会社情報").Cells(i, 4)
        '住所
        Worksheets("招待状").Range("b4") = Worksheets("会社情報").Cells(i, 5)
        '会社名
        Worksheets("招待状").Range("b5") = Worksheets("会社情報").Cells(i, 2)
        '部署
        Worksheets("招待状").Range("b6") = Worksheets("会社情報").Cells(i, 3)
        '電話番号
        Worksheets("招待状").Range("b7") = Worksheets("会社情報").Cells(i, 6)
        
        Worksheets("招待状").PrintPreview
        'Worksheets("招待状").PrintOut
        
        Worksheets("会社情報").Select
        
    Next i
    
End Sub

参考ファイルのLink
https://1drv.ms/x/s!AtH3WjvXQPcTuzITwEdouBpipOjI

コメント