VBA実践塾初心者基礎コース有料セミナー内容
1)エクセルの単純作業の自動化とは?
毎月3か月毎の推移表を作っています。
売上移行のボタンを押すと自動で翌月分の推移表が作成されます。
2)エクセルの作業を自動化できる意味がわかれば次の合理化の要望が出てきます
過去のデータが見えないかな?
1月から6月の推移表ができないかな?
指定した得意先の明細だけが表にできないかな?
今まで作ったエクセルの表を合理化してみよう
次から次へと要望が出てきます
ここでマクロの記録の手順のみで簡単だと思い込んで作業をしたところ思うようにいかないケースがほとんどです。
その時にコンピュータの基礎がわかっていると合理化ができます。
3)コンピュータの基礎がなぜ大事か基礎を勉強します
基礎1プログラムとは人間の操作の手順を記録しているものである。
これがわかっておれば手順を書いてくれる操作がマクロの記録ボタンをクリックすることだとわかります。
基礎2プログラムは再利用するために名前をつけないといけません。
基礎3プログラムは変数の使い方を理解することです。
エクセルは変数の集まりです。変数は目に見えないため理解しづらいですがエクセルのセルは目で見えるのでわかりやすいです。
エクセルが普及した理由の1つは目に見えない変数を目に見えるようにしたからだと思います。
当月の合計B7の式は=SUM(B3:B6)ですが=B3+B4+B5+B6と理解すればB3、B4、B5、B6は変数で140,000のような金額が入力されています。
金額を変更すれば合計が代わります。無意識で変数を使っているのです。
変数には値を代入するということを理解してください。
基礎4手順をわかりやすくあとから見てもわかるようにまとめることが大事です。
手順が一番よくわかるのは表を作ったあなたです。仕事の当事者です。ここが一番のポイントです。
複雑な表になるほど仕事の当事者でないと合理化できません。また基礎をつかんでいないと応用がききません。
売上移行手順
売上一覧の5月6月のデータを左にコピー
セル座標C2をB2へコピーします。
Cells(2, 2) = Cells(2, 3)
Cells(行番号, 列番号)で表します
ポイントは右の変数から左の変数に代入していることです
7行目6列まで代入します
Sub 売上移行()
'3列目5月のコピー(左へ移動するため)
Cells(2, 2) = Cells(2, 3)
Cells(3, 2) = Cells(3, 3)
Cells(4, 2) = Cells(4, 3)
Cells(5, 2) = Cells(5, 3)
Cells(6, 2) = Cells(6, 3)
Cells(7, 2) = Cells(7, 3)
'4列目6月のコピー(左へ移動するため)
Cells(2, 3) = Cells(2, 4)
Cells(3, 3) = Cells(3, 4)
Cells(4, 3) = Cells(4, 4)
Cells(5, 3) = Cells(5, 4)
Cells(6, 3) = Cells(6, 4)
Cells(7, 3) = Cells(7, 4)
End Sub
7月タイトルの作成
タイトル5月6月を選択してオートフィルを使って7月を作る
マクロの記録で作りだされたコード(プログラム)を使います。
Range("B2:C2").Select
Selection.AutoFill Destination:=Range("B2:D2"), Type:=xlFillDefault
マクロの記録は辞書(部品の作成)として使うことができます。
7月の売り上げデータを推移表にコピーします
当月売上シートの売上データを売上一覧シートの7月にコピーします。
シート名をつけてコピーします。
コピー先のシート.セル=コピー元のシート.セル
実行ボタンがコピー先にあるので省略できます。
Sub 売上移行()
'3列目5月のコピー(左へ移動するため)
Cells(2, 2) = Cells(2, 3)
Cells(3, 2) = Cells(3, 3)
Cells(4, 2) = Cells(4, 3)
Cells(5, 2) = Cells(5, 3)
Cells(6, 2) = Cells(6, 3)
Cells(7, 2) = Cells(7, 3)
'4列目6月のコピー(左へ移動するため)
Cells(2, 3) = Cells(2, 4)
Cells(3, 3) = Cells(3, 4)
Cells(4, 3) = Cells(4, 4)
Cells(5, 3) = Cells(5, 4)
Cells(6, 3) = Cells(6, 4)
Cells(7, 3) = Cells(7, 4)
'6月のタイトルを入力します(オートフィルを使う)
Range("B2:C2").Select
Selection.AutoFill Destination:=Range("B2:D2"), Type:=xlFillDefault
'当月売上のデータを売上一覧のシートにコピーします。
Cells(3, 4) = Worksheets("当月売上").Cells(3, 2)
Cells(4, 4) = Worksheets("当月売上").Cells(4, 2)
Cells(5, 4) = Worksheets("当月売上").Cells(5, 2)
Cells(6, 4) = Worksheets("当月売上").Cells(6, 2)
Cells(7, 4) = Worksheets("当月売上").Cells(7, 2)
End Sub
基礎4プログラムは単純な作業を何回でもします。繰り返しを理解することです。
Sub 売上移行()
Dim i As Long
'売上一覧の5月6月をコピーします。
For i = 2 To 7
Cells(i, 2) = Cells(i, 3)
Cells(i, 3) = Cells(i, 4)
Next
'6月のタイトルを入力します(オートフィルを使う)
Range("B2:C2").Select
Selection.AutoFill Destination:=Range("B2:D2"), Type:=xlFillDefault
'当月売上のデータを売上一覧のシートにコピーします。
For i = 3 To 7
Cells(i, 4) = Worksheets("当月売上").Cells(i, 2)
Next
End Sub
繰り返しをマスターすることはプログラムが短くなるだけでなく大量データをボタン1つで処理してくれることです。これがエクセルの自動化です。
4)システムの基礎を勉強します
システム基礎1トランザクション(取引)とマスターファイルを理解します。
データを再利用するために消さずにためておきます。
どのタイミングにためるかがわかるとシステムがよくわかります。
次はためたデータの取り出しです。
5)エクセルVBAの一番の良さは入力画面・出力画面をプログラムで作らなくてもエクセルの使いやすいシートがつかえることです
6)VBA実践塾初心者基礎コース有料セミナーは以上のVBA実践塾の基礎を勉強します
VIDEO
原則第2第4土曜日午後1:00から17:00のセミナーになっております。
費用は10,000円(税抜き)。