ExcelでVBAマクロまたはスクリプトを作成する方法


Microsoft Excelを使用すると、マクロとVisual Basic for Applications(VBA)スクリプトを使用して、機能とコマンドを自動化できます。 VBAはプログラミング言語Excelです はマクロの作成に使用します。また、特定の条件に基づいて自動化されたコマンドを実行します。

マクロは、事前に記録された一連のコマンドです。特定のコマンドが与えられると自動的に実行されます。会計、プロジェクト管理、給与計算など、Microsoft Excelで繰り返し実行するタスクがある場合、これらのプロセスを自動化すると時間を大幅に節約できます。

Excelのリボン開発者タブの下、ユーザーはマウスクリックとキーストローク(マクロ)を記録できます。ただし、一部の関数は、マクロが提供できるよりも詳細なスクリプトを必要とします。これは、VBAスクリプトが大きな利点になる場所です。これにより、ユーザーはより複雑なスクリプトを作成できます。

この記事では、以下について説明します。

  • スクリプトとマクロを有効にする
  • 作成方法Excelでマクロを作成する
  • マクロの具体例
  • VBAの詳細
  • VBAを開始するためのボタンを作成する
  • 追加ボタンの機能を提供するコード
  • 機能しましたか
  • スクリプトとマクロを有効にする

    作成する前にExcelのマクロまたはVBAスクリプトの場合、[リボン]メニューの[開発者]タブを有効にする必要があります。 [開発者]タブはデフォルトでは有効になっていません。有効にするには:

    • Excelワークシートを開きます。
    • ファイル>オプション>カスタマイズをクリックしますリボン。
      • Developerの横のボックスにチェックを入れます。
        • リボンメニューから[開発者]タブをクリックします。
          • 次に、[マクロセキュリティ]をクリックし、[すべてのマクロを有効にする(推奨されません。潜在的に危険なコードが実行される可能性があります)]チェックボックスをオンにします。
          • [OK]をクリックします。
          • マクロがデフォルトで有効になっておらず、警告が表示されるのは、マルウェアを含む可能性のあるコンピューターコードであるためです。

            <!-
            In_content_1 all:[300x250] / dfp:[640x360]
            ->

            Excelおよびその他のMicrosoftプログラムで共有プロジェクトを使用している場合は、ドキュメントが信頼できるソースからのものであることを確認してください。

            スクリプトとマクロの使用が終了したら、すべてを無効にします潜在的に悪意のあるコードが他のドキュメントに感染するのを防ぐマクロ。

            Excelでマクロを作成

            マクロの記録中にExcelで実行するすべてのアクションが追加されます。

            • 「開発者」タブで、「マクロを記録」をクリックします。
            • <図class = "lazy aligncenter">
              • マクロ名ショートカットキーを入力します>、および説明。マクロ名は文字で始まる必要があり、スペースを含めることはできません。ショートカットキーは文字である必要があります。
              • 次のオプションからマクロを保存する場所を決定します。

                • Personal Macro Workbook:これにより、Excelドキュメントで使用するマクロが保存された非表示のExcelドキュメントが作成されます。
                • 新しいワークブック:作成されたマクロを保存する新しいExcelドキュメントを作成します。
                • このワークブック:これは現在編集中のドキュメントにのみ適用されます。
                • 完了したら、OK

                  • 自動化するアクションを実行します。終了したら、[記録の停止]をクリックします。
                  • マクロにアクセスする場合は、指定したキーボードショートカットを使用します。
                  • マクロの特定の例

                    まず、顧客向けのシンプルなスプレッドシートと、借りている金額から始めましょう。まず、ワークシートをフォーマットするマクロを作成します。

                    すべてのスプレッドシートで、姓と名を別々の列に配置するなど、異なる形式を使用することを決定すると仮定します。

                    これは手動で変更できます。または、マクロを使用してプログラムを作成し、自動的に正しくフォーマットします。

                    マクロを記録

                    • 記録をクリックしますマクロFormat_Customer_Dataという名前を付けて、[OK]をクリックします。
                    • 必要な書式を取得するために、最初の列名をに変更します。
                    • 次に、Aの横に列を挿入して、と呼びます。
                    • 最初の列のすべての名前(まだ姓と名を含む)を強調表示し、リボンナビゲーションから[データ]をクリックします。
                    • クリック列へのテキスト
                      • 区切り>次へ>スペースで区切る>次へを選択します>>完了。以下のスクリーンショットと、上記のプロセスによって姓と名がどのように分離されたかを参照してください。
                        • 「未払い残高」フィールドをフォーマットするには、金額を強調表示します。 [ホーム>条件付き書式設定]>[セルルールの強調表示]>[より大きい>0]をクリックします。 。
                        • これにより、バランスの取れたセルが強調表示されます当然。書式設定をさらに詳しく説明するために、残高のない少数の顧客を追加しました。

                          • デベロッパーに戻り、記録の停止をクリックします。
                          • マクロを適用

                            レッツマクロを記録してから正しくフォーマットする前に、元のスプレッドシートから始めます。 マクロをクリックし、作成したマクロを選択して実行します。

                            マクロを実行すると、すべての書式設定が完了します。作成したばかりのこのマクロは、Visual Basic Editorに保存されます。

                            ユーザーは、さまざまな方法でマクロを実行できます。詳細については、マクロを実行する をお読みください。

                            VBAの詳細

                            VBAについて学習するには、開発者マクロをクリックしますタブ。作成したものを見つけて、[編集

                            ]をクリックします。

                            上のボックスに表示されるコードは、マクロを記録したときに作成されたものです。

                            これは、他の顧客支払いスプレッドシートを同じ方法でフォーマットするときに実行するものでもあります。

                            VBAを開始するためのボタンを作成

                            顧客と上記の同じスプレッドシートを使用して、どのくらい借りているのか、通貨コンバーターを作成しましょう。

                            • ボタン要素を挿入するには、開発者タブ。
                            • コントロールセクション挿入の横にあるドロップダウンからActiveXコマンドボタンを選択します。
                              • スプレッドシートの任意の場所にボタンをドラッグして、簡単にアクセスし、必要に応じて後で変更できるようにします。
                                • コードを添付するには、ボタンを右クリックして[プロパティ]を選択します。 NameCommandButtonとして、Captionto Convert(これはボタンテキストです)を保持します。
                                • ボタン機能を提供するコードを追加

                                  VBAコーディングはExcelインターフェースでは実行されません。それは別の環境で行われます。

                                  • 開発者タブに移動し、デザインモードがアクティブであることを確認します。
                                    • 作成したボタンのコードにアクセスするには、それを右クリックして、[コードを表示]を選択します。
                                      • 下のスクリーンショットのコードを見ると、コードの開始(Private Sub)と終了(End Sub)がすでにあることに注意してください。
                                        • 以下のコードは通貨換算手順を駆動します。

                                        ActiveCell.Value =(ActiveCell * 1.28)

                                        このセクションの目的スプレッドシートの通貨を変換することです。上記のスクリプトは、GBPからUSDへの為替レートを反映しています。セルの新しい値は、現在の値に1.28を掛けた値になります。

                                        下のスクリーンショットは、挿入後のVBAウィンドウでのコードの外観を示しています。

                                        • ファイルに移動トップナビゲーションで[閉じるとMicrosoft Excelに戻る]をクリックして、メインのExcelインターフェイスに戻ります。
                                        • 機能しましたか

                                          コードをテストする前に、最初にデザインモードを無効にして(クリック)、それ以上の変更を避けてボタン機能を提供する必要があります。

                                          • スプレッドシートに任意の数字を入力し、[変換ボタン。数字の値が約4分の1増加した場合、それは機能しました。
                                          • この例では、数字4をセルに入れました。 [変換]をクリックすると、数値が5.12に変わりました。 4倍の1.28は5.12なので、コードは正しく実行されました。

                                            Excelでマクロまたはスクリプトを作成する方法を理解したので、それらを使用してExcelで多数のアクションを自動化できます。

                                            Excelリストでファイル名を変更するAppleScript

                                            関連記事:


                                            13.12.2019