初心者向けのMicrosoft365 Excelマクロ:Excel 2019ワークブックにVBAマクロを記録および書き込む方法は?

初心者向けのMicrosoft365 Excelマクロ:Excel 2019ワークブックにVBAマクロを記録および書き込む方法は?

投稿の更新:2021年8月

読者の質問は次のとおりです。

大量のデータを分析するためにExcelVBAマクロを使用している同僚がいます。マクロがどのように機能するかを説明できますか、そしておそらく私がそのスキルを習得する方法を提案できますか?初心者向けの簡単なヒントをいただければ幸いです。

質問ありがとうございます。

Excel365マクロの概要

マクロ開発の習得は、Excelのパワーユーザーになるために必要な最も重要なスキルの1つです。本質的に、Excelでタスクを自動化するためにVBAマクロを使用します(Wordでも、マクロは非常に便利です)。そうでなければ、平凡で退屈で非常に時間がかかります。

Excelのマクロを使用して自動化できるタスクの例を次に示します。

  1. ワークブックとワークシートの作成と操作。
  2. チャートの作成と操作
  3. ファイルまたは他のシステムからデータをインポートします。
  4. データを分析し、チャートとダッシュボードを作成/更新します
  5. フォームをカスタマイズしてフィードバックをキャプチャする
  6. メールを送る
  7. そしてもっと…

Excelにはマクロレコーダーが組み込まれているため(OutlookやPowerPointとは異なり)、Excelブックにマクロを追加するための主なオプションは2つあります。

1)開始するのはおそらく簡単ですが、別のOfficeアプリケーションとの対話やより大きなデータサブセットの操作を伴う可能性のある複雑なタスクにはスケールアップしない一連のユーザーアクションを記録します。

2)Visual Basic for Applications(VBA)を利用してマクロを作成します。これは比較的単純な手続き型言語であり、より複雑な自動化をすばやく開発できます。

この投稿では、両方のケースについて説明します。まず、マクロを記録する方法を示し、次にVBAマクロをスプレッドシートに挿入するための詳細な手順を示します。

非常に簡単なタスクを使用して、両方のオプションのデモを行います。既存のブックへのワークシート名「DEMO」の追加と、Sheet1からそのブックへの特定のテーブルのコピーを自動化します。

Excel365 / 2019マクロを記録する

非常に簡単な例を使用して、プロセスの概要を説明します。次のように進めてください。

  • Excelで、既存のブックを開くか、新しいブックを作成します。
  • 上部リボンの[表示]タブに移動します。
  • 右側には、マクロセクションがあります。
  • [表示]をクリックして、[マクロの記録]を選択します。
  • 以下のフォームが開きます。次に、マクロに名前を付け、そのコンテンツを既存のブックに保存します。ここで、キーショートカットを簡単に割り当てて、マクロをより簡単に実行できることに気付くかもしれません。

ヒント:マクロには必ず詳細な説明を入力してください。

初心者向けのMicrosoft365 Excelマクロ:Excel 2019ワークブックにVBAマクロを記録および書き込む方法は?

  • ここで、[OK]をクリックします。
  • この時点で、先に進んで、記録したい手順を手動で実行します。この場合、先に進んで手動で新しいスプレッドシートを作成し、名前を変更してから、Sheet1からテーブルをコピーします。
  • 完了したら、マクロをもう一度押して、[記録の停止]を選択します。
  • ここで[マクロ]をクリックしてから[マクロの表示]を選択すると、開いているすべてのブック(または特定のブック)に保存されているすべてのマクロのリストが表示されます。

初心者向けのMicrosoft365 Excelマクロ:Excel 2019ワークブックにVBAマクロを記録および書き込む方法は?

  • [編集]ボタンを押すと、MicrosoftVBAエディターが開きます。
  • VBAエディターには、Excelが生成したコードがバックグラウンドで表示されます。このチュートリアルの次のセクションでは、同様のコードを自分で作成する方法を紹介します。

初心者向けのMicrosoft365 Excelマクロ:Excel 2019ワークブックにVBAマクロを記録および書き込む方法は?

  • VBAエディターを閉じます。

マクロ対応ファイルの保存

次に、ブックを保存する必要があります。マクロが含まれているため、 XSLMファイル(マクロ対応のExcelファイル)として保存する必要があります

  • ファイルを押してから保存
  • ファイルを保存するコンピューターまたはOneDrive内の場所を選択します。
  • わかりやすい名前を付けてください
  • ファイルタイプとして.xslmを選択します。
  • OKを押します。
  • よくできました。簡単なマクロを記録しました。

ExcelVBAマクロを作成する

前に述べたように、多くの場合、Excelマクロレコーダーは不十分であり、すべてのニーズを満たすことはできません。このような場合は、独自のコードを作成する必要があります。

ヒント:マクロの作成にハイブリッドアプローチを使用したい場合があります。マクロを記録することから始めて、VBAを使用して自動生成されたコードを手動で調整することができます。

Excel開発環境のセットアップ

これはかなり派手に聞こえますが、実際には非常に単純です。リボンに[開発者]という名前のタブが表示されない場合は、[開発者]タブを有効にすることから始めます。

[開発者]タブが表示されると、リボンは次のようになります。

初心者向けのMicrosoft365 Excelマクロ:Excel 2019ワークブックにVBAマクロを記録および書き込む方法は?

VBAマクロを作成する

  • Excelファイルを開きます。
  • リボンから、[開発者]をクリックします。
  • 次に、Visual Basicボタンを押します(または、Alt + F11を押します)。
  • Module1に移動し、次のコードを貼り付けます。
Sub Write_Macro()
'This code creates a Macro named Write_Macro
Dim MySheet As New Worksheet
Dim MyTable As Range

' Create a worksheet programatically and call it TEST
Set MySheet = ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count))
MySheet.Name = "TEST"

'Copy the table from Sheet1 into TEST worksheet
Set MyTable = Sheet1.Range("A1:C11")

With MyTable
.Copy Sheets("TEST").Range("A1")
End With

End Sub
  • VBAエディタを閉じます。
  • Excelに戻り、[開発者]をクリックします。
  • 次に、マクロを押して、ワークブック内のマクロのリストを調べます。Write_Macroエントリに気付くでしょう。これは、私たちが自分で書いたものです。

初心者向けのMicrosoft365 Excelマクロ:Excel 2019ワークブックにVBAマクロを記録および書き込む方法は?

  • スプレッドシートを.xslm(マクロ対応のExcelファイル)として保存します

マクロの実行

マクロの実行は非常に簡単です。上記のマクロダイアログから、Write_Macroエントリを強調表示し、[実行]をクリックします。

VBAセキュリティ権限の有効化

Microsoft Officeでは、有害なコードの実行を回避するために、マクロはデフォルトで無効になっています。マクロを実行したい場合は、それを許可する必要があります。上記で作成した2つのマクロのいずれかを実行しているときにエラーメッセージが表示された場合は、このオプションの手順を実行してください。

  • リボンで開発者を押します。
  • [マクロセキュリティ]を選択します。
  • [通知付きのすべてのマクロを無効にする]オプションを選択します。
  • OKを押します。

注:通知付きですべてのマクロを無効にすることは、マクロを含むExcelブックの推奨されるセキュリティ設定です。これは次のように機能します。ユーザーがそのようなブックを開くと、Excelは数式バーのすぐ上に「MACROSが無効になりました」という通知を投稿します。ブック内のマクロを有効にするかどうかは、ユーザーの決定次第です。

まとめ

今日の短いチュートリアルでは、マクロを記録するか、Visual Basic for Applicationsを直接使用してマクロを作成することにより、マクロをOffice 365Excelに挿入する方法を学習しました。

これは、初心者がExcel開発に慣れるための開始ステップにすぎません。特定の解決策が必要な読者は、お問い合わせページからお問い合わせください


Excel で「パズル」をプレイする

Excel で「パズル」をプレイする

Reddit ユーザーの MehmetSalihKoten は、Microsoft Excel で完全に機能するバージョンのテトリスを作成しました。

ExcelのConvert関数の使い方

ExcelのConvert関数の使い方

Excel で測定単位を変換するには、Convert 関数を使用します。

ExcelのHLOOKUP関数の使い方

ExcelのHLOOKUP関数の使い方

HLOOKUP関数とは何ですか? ExcelでHLOOKUP関数を使用するにはどうすればよいですか? クアントリマンで調べてみよう!

ExcelのIFERROR関数、計算式と使い方

ExcelのIFERROR関数、計算式と使い方

Excel の IFERROR 関数は非常によく使用されます。これをうまく使用するには、Microsoft Excel の IFERROR 式を理解する必要があります。

ExcelでのVALUE関数の使い方

ExcelでのVALUE関数の使い方

ExcelのVALUE関数とは何ですか? Excel の値の式とは何ですか? LuckyTemplates.com で調べてみましょう!

Excel EOMONTH関数、EOMONTH関数の使い方

Excel EOMONTH関数、EOMONTH関数の使い方

Excel の EOMONTH 関数は、非常に簡単な実装で、特定の月の最終日を表示するために使用されます。入力したデータに基づいて、特定の月の末日が取得されます。

Excel VBAでdo-whileループを使用する方法

Excel VBAでdo-whileループを使用する方法

Excel VBA で反復的なタスクを自動化したいですか? それでは、Do-while ループを使用して、条件が満たされるまで繰り返す一連のアクションを実装する方法を学びましょう。

Excel 2016 - レッスン 6: Excel の列、行、セルのサイズを変更する

Excel 2016 - レッスン 6: Excel の列、行、セルのサイズを変更する

Excel のデフォルトの列幅と行の高さは、入力したデータと一致しない可能性があります。Excel 2016 で列、行、セルのサイズを変更する方法を以下の記事で紹介していますので、ぜひ参考にしてください。

Excel 2016 - レッスン 5: セルと範囲の基本概念

Excel 2016 - レッスン 5: セルと範囲の基本概念

Excel で作業するときは常に、セルに情報 (コンテンツ) を入力する必要があります。LuckyTemplates を使って Excel 2016 のセルと範囲の基本概念を学びましょう。

ExcelのXLOOKUP関数の使い方

ExcelのXLOOKUP関数の使い方

ExcelのXlookup関数とは何ですか? ExcelでXlookupを使用するにはどうすればよいですか? LuckyTemplates.com で調べてみましょう!