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

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

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

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

この記事では、次のことを説明します。

  • スクリプトとマクロの有効化
  • Excelでマクロを作成する方法
  • マクロの具体例
  • VBAの詳細
  • VBAを開始するためのボタン(Button)を作成する
  • (Add Code)ボタン機能を提供する(Button Functionality)コードを追加する
  • うまくいきましたか?

スクリプトとマクロの有効化(Enabling Scripts & Macros)

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

  • Excelワークシートを開きます。
  • [ファイル](File ) >[オプション]( Options ) >[リボンのカスタマイズ]をクリックします。( Customize Ribbon.)

  • Developerの横のボックスにチェックマークを付けます。

  • リボン(Ribbon)メニューから[開発者(Developer)]タブをクリックします。

  • 次に、[マクロセキュリティ(Macro Security)]をクリックし、[すべてのマクロを有効にする]の横のチェックボックスをオンにします(推奨されません。潜在的に危険なコードが実行される可能性があります)。 (Enable all macros (not recommended; potentially dangerous code can run). )
  • 次に、[ OK]をクリックします。( OK.)

マクロがデフォルトでオンになっておらず、警告が表示される理由は、マクロがマルウェアを含む可能性のあるコンピューターコードであるためです。

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

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

Excelでマクロを作成する(Create a Macro in Excel)

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

  • [開発者]タブで、[マクロの記録(Record Macro)]をクリックします。

  • マクロ名(Macro name)ショートカットキー(Shortcut key)、および説明(Description. )を入力します。マクロ(Macro)名は文字で始まる必要があり、スペースを含めることはできません。ショートカットキーは文字である必要があります。

次のオプションから、マクロを保存する場所を決定します。

  • パーソナルマクロワークブック(Personal Macro Workbook):これにより、Excelドキュメントで使用するマクロが保存された非表示のExcelドキュメントが作成(Excel)ます(Excel)
  • 新しいワークブック(New Workbook):作成されたマクロを保存するための新しいExcelドキュメントを作成します。(Excel)
  • このワークブック(This Workbook):これは、現在編集しているドキュメントにのみ適用されます。

完了したら、[ OK(OK) ]をクリックします。 

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

マクロの具体例(Specific Example Of a Macro)

顧客向けの簡単なスプレッドシートと、顧客が支払うべき金額から始めましょう。ワークシートをフォーマットするためのマクロを作成することから始めます。

すべてのスプレッドシートで、名前と名前を別々の列に配置するなど、異なる形式を使用する必要があると判断したとします。 

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

マクロを記録する(Record The Macro)

  • [マクロの記録](Record Macro)をクリックします。これをFormat_Customer_Dataと呼び、[ (Format_Customer_Data)OK ]をクリックします。 
  • 必要なフォーマットを取得するために、最初の列名をFirstNameに変更します(First Name)。 
  • 次に、Aの横に列を挿入し、それをLastNameと呼びます(Last Name)。 
  • (Highlight)最初の列のすべての名前(まだ姓名が含まれています)を強調表示し、リボンナビゲーションから[データ]をクリックします。(Data)
  • [テキストから列へ]を(Text to Columns)クリックします。

  • 区切り記号>次へ(Next )>スペースで(Separate by Space)区切る(Delimited)>次へ(Next )>終了(Finish)にチェックマークを付けます。以下のスクリーンショットと、上記のプロセスによって姓と名がどのように分離されたかを参照してください。

  • [未払い残高](Balance Due)フィールドをフォーマットするには、金額を強調表示します。[(Click)ホーム(Home )] >[条件付き書式](Conditional Formatting) >[セルルールを強調表示](Highlight Cell Rules) >[より大きい](Greater Than ) >[ 0 ]をクリックします。

これにより、残高のあるセルが強調表示されます。フォーマットをさらに詳しく説明するため、バランスの取れていない顧客をいくつか追加しました。  

  • Developerに戻り、StopRecordingをクリックします。

マクロを適用する(Apply The Macro)

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

マクロを実行すると、すべてのフォーマットが自動的に行われます。作成したこのマクロは、VisualBasicEditorに保存されます。

ユーザーは、いくつかの異なる方法でマクロを実行できます。詳細については、マクロの実行(Run a macro)をお読みください。  

VBAの詳細(Learn More About VBA)

VBAについて学ぶには、[開発者(Developer)]タブから[マクロ(Macro)]をクリックします。作成したものを見つけて、[編集]をクリックします。(Edit.)

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

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

VBAを開始するためのボタンを作成する(Create a Button To Get Started With VBA)

上記の同じスプレッドシートを顧客とその金額を使用して、通貨コンバーターを作成しましょう。

  • ボタン要素を挿入するには、 [開発者(Developer )]タブに移動します。 
  • [コントロール(Controls)]セクションの[挿入(Insert)]の横にあるドロップダウンから[ ActiveXコマンドボタン(ActiveX Command Button )]を選択します

  • ボタンをスプレッドシートの任意の場所にドラッグ(Drag)すると、ボタンに簡単にアクセスして、後で必要に応じて変更できます。

  • コードを添付するには、ボタンを右クリックして[プロパティ(Properties)]を選択します。名前(Name)CommandButtonとして保持し、キャプション(Caption )変換( Convert )します(これはボタンのテキストです)。

ボタン機能を提供するコードを追加する(Add Code To Give The Button Functionality)

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

  • [開発者(Developer)]タブに移動し、デザインモード(Design Mode)がアクティブになっていることを確認します。

  • 作成したボタンのコードにアクセスするには、ボタンを右クリックして[コードの表示](View Code)を選択します。

  • 下のスクリーンショットのコードを見ると、コードの最初( Private Sub(Private Sub))と最後(End Sub)がすでに存在していることに注意してください。

  • 以下のコードは、通貨換算手順を推進します。

ActiveCell.Value = (ActiveCell * 1.28)

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

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

  • 上部のナビゲーションで[ファイル(File )]に移動し、 [閉じる]をクリックして[Microsoft Excel(click on Close and Return to Microsoft Excel)に戻る]をクリックして、メインのExcelインターフェイスに戻ります。

うまくいきましたか?(Did It Work?)

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

  • スプレッド(Type)シートに任意の数値を入力し、[変換(Convert)]ボタンをクリックします。あなたの数の値が約4分の1増加した場合、それは機能しました。

この例では、4番をセルに入れます。[変換(Convert)]をクリックすると、数値が5.12に変わりました。1.28の4倍は5.12なので、コードは正しく実行されました。

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



About the author

私は長年 Android とオフィス ソフトウェアを扱ってきたコンピューター技術者です。私はまた、過去 5 年ほどの間、人々に Mac の使い方を教えてきました。あなたのコンピュータの問題を解決する方法を知っている人を探しているなら、おそらく私がお手伝いできるでしょう!



Related posts