初心者向けの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 2019 (パート 17): 行/列の固定と表示オプション

Excel 2019 (パート 17): 行/列の固定と表示オプション

Excel には、行/列を固定したり、ワークシートを分割したりする機能など、ワークブックのさまざまな部分のコンテンツを同時に簡単に表示できるツールが多数含まれています。

Excel 2019 (パート 16): データを操作するときの基本的なヒント

Excel 2019 (パート 16): データを操作するときの基本的なヒント

20 個のセルを扱う場合でも、20,000 個のセルを扱う場合でも、Excel にはデータを整理して必要なものを見つけるのに役立つ機能が多数あります。

Excelの割り算関数:MOD関数(余りを求める)とQUOTIENT関数(整数部分を求める)

Excelの割り算関数:MOD関数(余りを求める)とQUOTIENT関数(整数部分を求める)

MOD関数はExcelで除算した余りを求める関数です。たとえば、MOD 関数を使用して 5:3 を除算すると、MOD 関数が返す結果は 2 になります。 では、Excel で MOD 関数を使用するにはどうすればよいでしょうか。以下の MOD 関数の構文と特定の MOD 関数の例を参照してください。

ExcelでSORT関数を使ってデータを並べ替える方法

ExcelでSORT関数を使ってデータを並べ替える方法

SORT 関数は、元のテーブルをそのままにし、その代わりにスプレッドシートに並べ替えられたテーブルのコピーを作成します。

Excel 2019 (パート 15): 関数

Excel 2019 (パート 15): 関数

Excel には、セル範囲の合計、平均、個数、最大値、最小値をすばやく見つけるために使用できる多くの一般的な関数が含まれています。

Excel 2019 (パート 14): 相対セル参照と絶対セル参照

Excel 2019 (パート 14): 相対セル参照と絶対セル参照

セル参照には、相対参照と絶対参照の 2 種類があります。相対参照と絶対参照は、コピーして他のセルに入力した場合の動作が異なります。

Excel 2019 (パート 13): 複雑な数式を作成する

Excel 2019 (パート 13): 複雑な数式を作成する

数式に複数の演算がある場合、演算の順序によって、どの演算を最初に実行するかが Excel に指示されます。

ExcelでのREPT関数の使い方

ExcelでのREPT関数の使い方

Excel の REPT 関数は、手動で入力しなくても、数字から単語文字までの符号なし文字を繰り返します。

Excel 2019 (パート 12): 数式の概要 (数式)

Excel 2019 (パート 12): 数式の概要 (数式)

Excel の最も強力な機能の 1 つは、数式を使用して数値情報を計算する機能です。Excel は電卓と同じように、加算、減算、乗算、除算を行うことができます。

Excel 2019 (パート 11): レイアウトと印刷

Excel 2019 (パート 11): レイアウトと印刷

ページ レイアウト設定を選択したら、[印刷] パネルを使用して Excel からワークブックを簡単にプレビューおよび印刷できます。