エクセルでの資料作成を自動化(写真の貼り付け・テキスト転記・印刷マクロの導入)

豆父ちゃん
こんな要望にお応えします。
結論から言うと、写真貼り付けマクロ、転記マクロ、印刷マクロを組み合わせて自動化する!ということです。
この記事で紹介する資料作成とは、エクセルに写真データを添付して作成する資料作りのことをいいます。写真を貼り付けて資料を作成する際、写真の大きさや位置を調整したり写真の名前を記入したりしなければなりません。ほかにも氏名や日時の編集が必要になることがほとんどです。
必要事項の編集と写真の貼り付け両方の処理が必要になると時間がかかるしミスの発生も多くなります。
そんな手間と時間のかかる写真の貼り付けが必要な資料作成を自動化するマクロをご紹介します。
写真付き資料の作成を自動化するマクロとは
シートからシートへ情報を転記するマクロ、指定するフォルダ内の写真データを貼り付けるマクロ、印刷プレビューを自動で表示するマクロを組み合わせたものです。
資料作成自動化マクロの使い方
1.設定シートの必要事項を全て入力する
2.ユーザーフォームに設定シートのA列の番号を入力し、実行ボタンをクリック
使い方はたったこれだけです。設定シートに入力した各項目が反映され、指定したフォルダ内の写真が貼り付けられました。このマクロを使えば、誰でも簡単に写真が添付された資料を作れるようになります。
資料作成の自動化マクロのサンプル
| 1 | Sub 写真付資料作成マクロ() |
| 2 | "Sheetの設定"" |
| 3 | Dim Ash As Worksheet |
| 4 | Dim Bsh As Worksheet |
| 5 | Set Ash = ThisWorkbook.Worksheets(“設定") |
| 6 | Set Bsh = ThisWorkbook.Worksheets(“資料") |
| 7 | On Error Resume Next |
| 8 | "’ユーザーフォームで入力した値を変数iで取得""" |
| 9 | i = UserForm2.TextBox1.Value |
| 10 | "’一覧表から資料へテキストを転記する"" |
| 11 | Bsh.Cells(11, 6).ClearContents |
| 12 | Bsh.Range(Bsh.Cells(12, 6), Bsh.Cells(12, 12)).ClearContents |
| 13 | Bsh.Cells(13, 6).ClearContents |
| 14 | Bsh.Cells(14, 6).ClearContents |
| 15 | Bsh.Cells(6, 36).ClearContents |
| 16 | Bsh.Cells(7, 36).ClearContents |
| 17 | Bsh.Cells(8, 36).ClearContents |
| 18 | Bsh.Cells(9, 36).ClearContents |
| 19 | Bsh.Cells(10, 36).ClearContents |
| 20 | G = Bsh.Cells(Rows.Count, 23).End(xlUp).Row |
| 21 | For k = 1 To G |
| 22 | Bsh.Cells(k, 23).ClearContents |
| 23 | Next k |
| 24 | ""’件名を転記""’ |
| 25 | Bsh.Cells(11, 6) = Ash.Cells(i + 2, 2) |
| 26 | Bsh.Cells(11, 6).HorizontalAlignment = xlLeft |
| 27 | ""’日時を転記""’ |
| 28 | Bsh.Range(Bsh.Cells(12, 6), Bsh.Cells(12, 12)).Merge |
| 29 | Bsh.Range(Bsh.Cells(12, 6), Bsh.Cells(12, 12)) = Ash.Cells(i + 2, 3) |
| 30 | Bsh.Range(Bsh.Cells(12, 6), Bsh.Cells(12, 12)).HorizontalAlignment = xlLeft |
| 31 | Bsh.Range(Bsh.Cells(12, 6), Bsh.Cells(12, 12)).NumberFormatLocal = “[$-ja-JP]ggge""年""m""月""d""日""" |
| 32 | ""’担当者を転記""’ |
| 33 | Bsh.Cells(13, 6) = Ash.Cells(i + 2, 4) |
| 34 | Bsh.Cells(13, 6).HorizontalAlignment = xlLeft |
| 35 | ""’記事を転記""’ |
| 36 | Bsh.Cells(14, 6) = Ash.Cells(i + 2, 5) |
| 37 | Bsh.Cells(14, 6).HorizontalAlignment = xlLeft |
| 38 | ""’住所1を転記""’ |
| 39 | Bsh.Cells(6, 36) = Ash.Cells(i + 2, 6) |
| 40 | Bsh.Cells(6, 36).HorizontalAlignment = xlRight |
| 41 | ""’住所2を転記""’ |
| 42 | Bsh.Cells(7, 36) = Ash.Cells(i + 2, 7) |
| 43 | Bsh.Cells(7, 36).HorizontalAlignment = xlRight |
| 44 | ""’所属を転記""’ |
| 45 | Bsh.Cells(8, 36) = Ash.Cells(i + 2, 8) |
| 46 | Bsh.Cells(8, 36).HorizontalAlignment = xlRight |
| 47 | ""’電話1を転記""’ |
| 48 | Bsh.Cells(9, 36) = Ash.Cells(i + 2, 9) |
| 49 | Bsh.Cells(9, 36).HorizontalAlignment = xlRight |
| 50 | Bsh.Cells(9, 36).NumberFormatLocal = “@" |
| 51 | ""’電話2を転記""’ |
| 52 | Bsh.Cells(10, 36) = Ash.Cells(i + 2, 10) |
| 53 | Bsh.Cells(10, 36).HorizontalAlignment = xlRight |
| 54 | Bsh.Cells(10, 36).NumberFormatLocal = “@" |
| 55 | Const cnsTitle = “ファイル名一覧取得" |
| 56 | Const cnsDIR = “\*.*" |
| 57 | Dim xlAPP As Application |
| 58 | Dim strPath As String |
| 59 | StriDim strFilename As ng |
| 60 | Dim zukei As Shape |
| 61 | Dim myFileName As String |
| 62 | Dim syasin As String |
| 63 | Dim Path As String |
| 64 | For Each sa In Bsh.Shapes |
| 65 | On Error Resume Next |
| 66 | If sa.TopLeftCell.Address >= Bsh.Cells(1, 1).Address Then |
| 67 | sa.Delete |
| 68 | End If |
| 69 | If Err <> 0 Then |
| 70 | Err.Clear |
| 71 | End If |
| 72 | Next |
| 73 | '張り付ける写真のフォルダを取得 |
| 74 | strPath = Ash.Cells(i + 2, 11) |
| 75 | ' フォルダの存在確認 — 必要な場合のみ記述 — |
| 76 | If Dir(strPath, vbDirectory) = “" Then |
| 77 | MsgBox “指定のフォルダは存在しません。", vbExclamation, cnsTitle |
| 78 | Exit Sub |
| 79 | End If |
| 80 | ' 先頭のファイル名の取得 |
| 81 | strFilename = Dir(strPath & cnsDIR, vbNormal) |
| 82 | ' ファイルが見つからなくなるまで繰り返す |
| 83 | Do While strFilename <> “" |
| 84 | ' 行を加算 |
| 85 | GYO = GYO + 18 |
| 86 | Bsh.Cells(GYO + 3, 23).Value = strFilename |
| 87 | ' 次のファイル名を取得 |
| 88 | strFilename = Dir() |
| 89 | Loop |
| 90 | For j = 21 To G Step 18 |
| 91 | Bsh.Range(Bsh.Cells(j, 4), Bsh.Cells(j + 13, 19)).Select |
| 92 | Dim tate As Single |
| 93 | Dim yoko As Single |
| 94 | Dim Top As Single |
| 95 | Dim Left As Single |
| 96 | tate = Selection.Height |
| 97 | yoko = Selection.Width |
| 98 | Top = ActiveCell.Top |
| 99 | Left = ActiveCell.Left |
| 100 | syasin = strPath & “\" & Bsh.Cells(j, 23).Value |
| 101 | Set GetPic = Bsh.Shapes.AddPicture(syasin, False, True, Left, Top, -1, -1) |
| 102 | GetPic.Width = GetPic.Width * (tate / GetPic.Height) |
| 103 | GetPic.Height = tate |
| 104 | GetPic.Left = Left |
| 105 | Next j |
| 106 | Go = Bsh.Cells(Rows.Count, 23).End(xlUp).Row |
| 107 | PeNu = Application.WorksheetFunction.RoundUp(Go / 54, 0) |
| 108 | Bsh.PageSetup.PrintArea = Bsh.Range(Bsh.Cells(1, 1), Bsh.Cells((54 * PeNu), 37)).Address |
| 109 | Bsh.PrintPreview |
| 110 | End Sub |
資料作成自動化マクロの導入で得られる効果
この資料作成自動化マクロは私の職場に導入しています。このマクロ導入後、次のような効果を得ることができました。
- エクセル操作が苦手な方も作業できるようになった
- 資料の出来上がりがキレイになり、仕上がりが統一された
- 編集ミスが激減した
- 過去の資料を簡単に検索できるようになった
- 作業スピードが上がり、仕事に余裕ができた
いろんなメリットがありますが、私にとっての1番のメリットは資料作成業務のストレスが減ったことです。
マクロ導入前は作業スピードや出来栄えに個人差がありましたが、マクロ導入後は誰でも簡単に同じ出来栄えの資料を作成できるようになりました。
写真を貼り付けるマクロ
指定するフォルダ内にある写真データをエクセルに貼り付けるマクロです。
指定するフォルダ内の写真を自動で貼り付けるマクロがどのような処理をするか!を動画で説明しています。マクロがいかに便利なツールであるのかをわかっていただけると思います。是非参考にしてみてください。
写真を貼り付けるマクロの使い方
1.設定シートで写真が保存されているフォルダ場所を入力する
2.写真シートでマクロを実行する
たったこれだけで写真を貼り付けるマクロを使用することができます。
写真を貼り付けるマクロのサンプル
| 1 | Sub 写真挿入横() |
| 2 | Dim Ash As Worksheet |
| 3 | Set Ash = Sheets(“設定") |
| 4 | Dim Csh As Worksheet |
| 5 | Set Csh = Sheets(“写真(横)") |
| 6 | Const cnsTitle = “ファイル名一覧取得" |
| 7 | Const cnsDIR = “\*.*" |
| 8 | Dim xlAPP As Application |
| 9 | Dim strPath As String |
| 10 | Dim strFilename As String |
| 11 | Dim GYO As Long |
| 12 | Dim zukei As Shape |
| 13 | Dim myFileName As String |
| 14 | Dim syasin As String |
| 15 | Dim Path As String |
| 16 | rm = Csh.Cells(Rows.Count, 25).End(xlUp).Row |
| 17 | For Each sa In Csh.Shapes |
| 18 | On Error Resume Next |
| 19 | If sa.TopLeftCell.Address >= Csh.Cells(1, 1).Address Then |
| 20 | sa.Delete |
| 21 | End If |
| 22 | If Err <> 0 Then |
| 23 | Err.Clear |
| 24 | End If |
| 25 | Next |
| 26 | For i = 3 To rm Step 21 |
| 27 | Csh.Range(Csh.Cells(i, 25), Csh.Cells(i + 2, 38)).ClearContents |
| 28 | Next |
| 29 | Set xlAPP = Application |
| 30 | strPath = Ash.Cells(3, 1) |
| 31 | If Dir(strPath, vbDirectory) = “" Then |
| 32 | MsgBox “指定のフォルダは存在しません。", vbExclamation, cnsTitle |
| 33 | Exit Sub |
| 34 | End If |
| 35 | strFilename = Dir(strPath & cnsDIR, vbNormal) |
| 36 | Do While strFilename <> “" |
| 37 | GYO = GYO + 21 |
| 38 | Csh.Cells(GYO – 18, 25).Value = strFilename |
| 39 | strFilename = Dir() |
| 40 | Loop |
| 41 | For i = 1 To rm Step 21 |
| 42 | Csh.Cells(i + 2, 2).Select |
| 43 | syasin = Ash.Cells(3, 1) & “\" & Csh.Cells(i + 2, 25).Value |
| 44 | Csh.Pictures.Insert syasin |
| 45 | Csh.Pictures.Top = Range(Csh.Cells(i + 2, 2), Csh.Cells(i + 20, 23)).Top |
| 46 | Csh.Pictures.Left = Range(Csh.Cells(i + 2, 2), Csh.Cells(i + 20, 23)).Left |
| 47 | Csh.Pictures.Height = Range(Csh.Cells(i + 2, 2), Csh.Cells(i + 20, 23)).Height |
| 48 | Next i |
| 49 | End Sub |
写真を貼り付けるマクロの導入にるよる効果
写真を貼り付けるマクロを導入することでいろんな効果を得ることができます。
- 複数の写真をまとめて貼り付けることができる
- 貼り付けた写真の大きさ、場所を自動で調整できる
- 貼り付け写真の名前を自動で記載できる
下記の記事で、写真の貼り付けマクロを詳しく紹介しています。
記事では、写真を貼り付けるマクロの設定の方法やSheetの様式設定など詳しく説明しています。エクセルに写真を貼り付ける作業が多い方におすすめのマクロです。下記のサイトでは写真の貼り付けマクロが設定されたエクセルファイルをダウンロードすることができます。
すぐにでも写真を貼り付けるマクロを使ってみたい!という方は参考にしてみてください。
シートからシートにテキストを転記するマクロ
シート名を取得するVBAを使って、シートからシートに情報を反映させる!というマクロです。
シートからシートへテキストを転記するマクロがどのような処理をするか!を動画で説明しています。テキストの転記マクロは仕事で最も使われるマクロです。1種類の書類に対してエクセルファイルをコピペしてどんどん増えてしまう!というやり方をカイゼンすることができます。
転記マクロの使い方
1.設定シートで必要事項を全て入力
2.ユーザーフォームに設定シートのA列の番号を入力し、実行ボタンをクリック
使い方はたったこれだけです。設定シートに入力した各項目が該当する場所に自動的に反映されます。このマクロを使えば、様式の決められた書類作成業務の効率をアップさせることができます。
転記マクロのサンプル
| 1 | Sub 工事契約書転記() |
| 2 | ""Sheetの設定"""" |
| 3 | Dim Ash As Worksheet |
| 4 | Dim Bsh As Worksheet |
| 5 | Set Ash = ThisWorkbook.Worksheets(“一覧表") |
| 6 | Set Bsh = ThisWorkbook.Worksheets(“工事契約書") |
| 7 | "’ユーザーフォームで入力した値を変数iで取得""" |
| 8 | i = UserForm1.TextBox1.Value |
| 9 | "’一覧表から工事契約書へ値を転記する""" |
| 10 | ""’工事名を転記""’ |
| 11 | Bsh.Range(“H6") = Ash.Cells(i + 2, 2) |
| 12 | Bsh.Range(“H6").HorizontalAlignment = xlLeft |
| 13 | ""’工事場所を転記""’ |
| 14 | Bsh.Range(“H8") = Ash.Cells(i + 2, 3) |
| 15 | Bsh.Range(“H8").HorizontalAlignment = xlLeft |
| 16 | ""’工期(着手)を転記""’ |
| 17 | Bsh.Range(“H10") = Ash.Cells(i + 2, 4) |
| 18 | Bsh.Range(“H10").HorizontalAlignment = xlCenter |
| 19 | Bsh.Range(“H10").NumberFormatLocal = “ggge年m月d日" |
| 20 | ""’工期(竣功)を転記""’ |
| 21 | Bsh.Range(“P10") = Ash.Cells(i + 2, 5) |
| 22 | Bsh.Range(“P10").HorizontalAlignment = xlCenter |
| 23 | Bsh.Range(“P10").NumberFormatLocal = “ggge年m月d日" |
| 24 | ""’請負金額を転記""’ |
| 25 | Bsh.Range(“L12") = Ash.Cells(i + 2, 6) |
| 26 | Bsh.Range(“L12").HorizontalAlignment = xlCenter |
| 27 | Bsh.Range(“L12").NumberFormatLocal = “#,###" |
| 28 | ""’消費税を転記""’ |
| 29 | Bsh.Range(“R14") = Bsh.Range(“L12").Value * 0.1 |
| 30 | Bsh.Range(“R14").HorizontalAlignment = xlCenter |
| 31 | Bsh.Range(“R14").NumberFormatLocal = “#,###" |
| 32 | ""’発注者住所を転記""’ |
| 33 | Bsh.Range(“J33") = Ash.Cells(i + 2, 8) |
| 34 | Bsh.Range(“J33").HorizontalAlignment = xlLeft |
| 35 | ""’発注者氏名を転記""’ |
| 36 | Bsh.Range(“J35") = Ash.Cells(i + 2, 7) |
| 37 | Bsh.Range(“J35").IndentLevel = 2 |
| 38 | ""’受注者住所を転記""’ |
| 39 | Bsh.Range(“J37") = Ash.Cells(i + 2, 10) |
| 40 | Bsh.Range(“J37").HorizontalAlignment = xlLeft |
| 41 | ""’受注者氏名を転記""’ |
| 42 | Bsh.Range(“J39") = Ash.Cells(i + 2, 9) |
| 43 | Bsh.Range(“J39").IndentLevel = 2 |
| 44 | End Sub |
転記マクロ導入による効果
転記マクロは、様式の決められた書類作成業務で効果が発揮されます。
- 編集ミスを軽減できる
- 過去の情報を参考にできる
- 誰が資料を作成しても同じ仕上がりにできる
転記マクロを導入することで上記のような効果を得ることができます。
下記のサイトでは、転記マクロが設定されたエクセルファイルをダウンロードしてお使いいただけます。転記マクロを使ってエクセル作業の効率を今すぐにでもアップさせたいという方におすすめです。
印刷マクロ
印刷設定を自動的に行うマクロです。
連続で書類を印刷するマクロがどのような処理をするか!を動画で説明しています。転記マクロでテキストを編集→印刷、再度転記マクロでテキストを編集→印刷を繰り返す!という内容です。連続印刷マクロについては下記の記事で詳しく紹介しています。
連続印刷マクロの使い方
使い方は、上記で紹介した転記マクロの使い方とほとんど一緒ですが、マクロを実行した後の結果が異なります。
実行すると、入力した番号に該当する書類の印刷まで行います。
この連続印刷マクロは、様式の決められた書類をまとめて印刷したい!というときに便利です。
連続印刷マクロのサンプル
| 1 | Sub 工事契約書転記() |
| 2 | "’Sheetの設定"’ |
| 3 | Dim Ash As Worksheet |
| 4 | Dim Bsh As Worksheet |
| 5 | Set Ash = ThisWorkbook.Worksheets(“一覧表") |
| 6 | Set Bsh = ThisWorkbook.Worksheets(“工事契約書") |
| 7 | "’ユーザーフォームで入力した値を変数jで取得 "’ |
| 8 | For j = 1 To 5 |
| 9 | If UserForm1(“TextBox" & j).Value <> “" Then |
| 10 | i = UserForm1(“TextBox" & j).Value |
| 11 | "’一覧表から工事契約書へ値を転記する"’ |
| 12 | ""’工事名を転記"’ |
| 13 | Bsh.Range(“H6") = Ash.Cells(i + 2, 2) |
| 14 | Bsh.Range(“H6").HorizontalAlignment = xlLeft |
| 15 | "’工事場所を転記"’ |
| 16 | Bsh.Range(“H8") = Ash.Cells(i + 2, 3) |
| 17 | Bsh.Range(“H8").HorizontalAlignment = xlLeft |
| 18 | "’工期(着手)を転記"’ |
| 19 | Bsh.Range(“H10") = Ash.Cells(i + 2, 4) |
| 20 | Bsh.Range(“H10").HorizontalAlignment = xlCenter |
| 21 | Bsh.Range(“H10").NumberFormatLocal = “ggge年m月d日" |
| 22 | "’工期(竣功)を転記"’ |
| 23 | Bsh.Range(“P10") = Ash.Cells(i + 2, 5) |
| 24 | Bsh.Range(“P10").HorizontalAlignment = xlCenter |
| 25 | Bsh.Range(“P10").NumberFormatLocal = “ggge年m月d日" |
| 26 | "’請負金額を転記"’ |
| 27 | Bsh.Range(“L12") = Ash.Cells(i + 2, 6) |
| 28 | Bsh.Range(“L12").HorizontalAlignment = xlCenter |
| 29 | Bsh.Range(“L12").NumberFormatLocal = “#,###" |
| 30 | "’消費税を転記"’ |
| 31 | Bsh.Range(“R14") = Bsh.Range(“L12").Value * 0.1 |
| 32 | Bsh.Range(“R14").HorizontalAlignment = xlCenter |
| 33 | Bsh.Range(“R14").NumberFormatLocal = “#,###" |
| 34 | "’発注者住所を転記"’ |
| 35 | Bsh.Range(“J33") = Ash.Cells(i + 2, 8) |
| 36 | Bsh.Range(“J33").HorizontalAlignment = xlLeft |
| 37 | "’発注者氏名を転記"’ |
| 38 | Bsh.Range(“J35") = Ash.Cells(i + 2, 7) |
| 39 | Bsh.Range(“J35").IndentLevel = 2 |
| 40 | "’受注者住所を転記"’ |
| 41 | Bsh.Range(“J37") = Ash.Cells(i + 2, 10) |
| 42 | Bsh.Range(“J37").HorizontalAlignment = xlLeft |
| 43 | "’受注者氏名を転記"’ |
| 44 | Bsh.Range(“J39") = Ash.Cells(i + 2, 9) |
| 45 | Bsh.Range(“J39").IndentLevel = 2 |
| 46 | ActiveSheet.PageSetup.PrintArea = (“A1:X39") |
| 47 | ActiveSheet.PrintOut |
| 48 | Else |
| 49 | End If |
| 50 | Next |
| 51 | End Sub |
連続印刷マクロの導入による効果
連続印刷マクロはあらゆるエクセル作業に応用することができます。印刷マクロを設定することで作業効率がアップします。私の職場ではあらゆるエクセルファイルに印刷マクロを設定しています。
- 請求書・領収書作成用のエクセルファイル
- 工事書類作成用のエクセルファイル
- 申請書類作成用のエクセルファイル
時代遅れではありますが、私の職場は、紙で印刷した書類で上司の承認をもらって押印してもらうルールになっています。そのためエクセルで作成したほとんどの資料を印刷しなければなりません。印刷マクロを設定することで、印刷にかかる作業時間をカットすることができるので職場ではかなり好評のマクロになっています。
VBA初心者が効率化マクロを導入する方法
VBAなんて扱ったことないけどエクセル作業を自動化するマクロを導入したい!
このような問題を抱えながら日々のエクセル業務をこなしている方がおおくいらっしゃるのではないでしょうか。
こんな問題を解決する方法がこちら
- マクロの開発を外注に依頼する
- マクロが設定されたエクセルファイルをダウンロードする
- 参考書やネットでVBAスキルを身に付ける
VBAの勉強を始める前は上記の方法で効率化マクロを導入していました。
完成されたマクロを使ってエクセル業務を処理する
↓
作業効率が2倍以上アップ!!
↓
便利すぎて自分でもマクロを設定したいと考え始める
↓
参考書やネットの情報でVBAスキルを身に付ける
↓
マクロ開発を代行できる程のスキルを習得
VBAは
他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい
という特徴があります。
毎日のルーティーン作業にうんざりしている、だれでもできる単純作業に時間を費やしている、という方はあなたに合った方法でVBAを導入しちゃいましょう。
マクロの開発を外注に依頼する
マクロの開発を外注に依頼する導入方法は
VBAを全く扱えない方でもエクセル作業を自動化できる最も簡単な方法
です。
「こんなエクセル作業を自動化したい」「作った資料を自動的にPDFで保存したい」「決まった様式に写真を自動で貼り付けたい」
こんな感じで実現したい内容を依頼するだけで業務内容に合ったマクロを開発してくれます。

ガッツポーズの人
デメリットは、費用がかかることだけ。
開発内容、依頼先によってかかる費用は大きく異なります。
私が会社員の頃利用していた業者さんは1マクロあたり2万円~3万円の費用がかかりました。

疑問がある人
ちなみに、マメBlogでもエクセルマクロ開発代行サービスを承っています。
開発内容の確認、VBAコードの設定、動作確認後の調整、など全ての工程を私(マメ父ちゃん)が行っているので、
費用が安い!スピード納期!!
でやらせてもらっています。
ほとんど独学で身に付けたVBAスキルなので、内容によっては開発できないこともあるのでご了承ください。
ご相談、見積もり依頼は完全無料ですので気になる方は下記のリンクよりお問合せ下さい。
マクロが設定されたエクセルファイルをダウンロードする
VBA初心者でも『マクロが設定されたエクセルファイルをダウンロード』ですぐにエクセル作業を自動化することができます。
たとえば、
A4用紙に写真を貼り付けてコメントを入力する作業を自動化したい!という場合、
『写真を貼り付けるマクロ』が設定されたエクセルファイルをダウンロードすれば問題解決です。
実際に、『写真を貼り付けるマクロ』をダウンロードして使っている様子がこちら

ガッツポーズの人
『マクロが設定されたエクセルファイルをダウンロード』する導入方法は、
VBA初心者でもマクロを導入できる、費用が安い、
というメリットがあります。
しかし
VBAに関する情報が多く公開されているとはいえ、ネット上で想定するマクロは見つけることが難しい
というデメリットもあります。

ガッツポーズの人
個人ブログやファイルを販売できるサイト「note」や「Tips」ではいろんなマクロの情報が掲載されているので是非参考にしてみてください。
今までマメBlogで受注した効率化マクロを下記のnoteで掲載していますので併せてチェックしてみてください。
参考書やネットでVBAスキルを身に付ける
先程も紹介しましたが、
VBAは他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい
プログラミングです。
言い換えると、
情報量が豊富なので自分で勉強できちゃう
ということです。
私のVBAスキルはほとんど独学で身に付けたもので、
考えた処理のほとんどをVBAで表現できるレベルにまで到達した!
と思っています。
私の作ったマクロをプロのプログラマーが見れば、
お前の書くコードはインチキだ!「変数の宣言」とか「引数」を正しく使えよ!!
と感じるはずです。
でも、
私からすればどうでもいい!!!想定した内容を正しく処理できればよくないですか!?
独学であっても『写真を貼り付けるマクロ』『全てのシートをPDF出力するマクロ』『連番を振るマクロ』など、
業務内容に合ったマクロを開発できるようになれます。
独学でVBAスキルを身に付けるコツは、
エラーが発生してもいいからひたすらコードを書く、なんでもいいからエクセル作業をマクロ化してみる
です。
とは言っても、全くの知識0の方は何をすればいいかわからないですよね。
VBA知識0の初心者の方は、参考書『たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】』を読んでみてください。
VBAの知識0の方でもすいすい読み進められる内容になっています。
やさしい内容にも関わらず「え!!VBAを使えばこんなことできるの!?」と感動すると思います。
実際に私はこの参考書を読んでからVBAの勉強を始めました。

ひらめく人
VBAの魅力を発見した後は、
ひたすら自動化したい処理を実現するコードを書くだけ
です。
【VBA 写真を貼る】、【VBA PDF出力】、のようにネット検索すれば知りたいコードをすぐにゲットできます。
実現したい処理に向かって、「調べる→書いてみる→エラーを改善する→調べる」を繰り返していると
自然といろんなマクロが作れるようになっているはずです。
VBAに興味が湧いてきたという方は今からVBA学習をスタートさせちゃいましょう。


















