Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

最高のVBAガイド(初心者向け)これまでに必要なもの

ほぼすべてのMicrosoftOffice製品で実行されるVBAプログラミングプラットフォームは、これらの製品の使用を強化するために誰もが使用できる最も強力なツールの1つです。

この初心者向けVBAガイドでは、Officeアプリケーションに開発者メニューを追加する方法、VBAエディターウィンドウに入る方法、およびExcel、Word、PowerpointでVBAの使用を開始できるように基本的なVBAステートメントとループがどのように機能するかを説明します。 Outlook、およびOneNote。

最高のVBAガイド(初心者向け)これまでに必要なもの

このVBAガイドでは、最新バージョンのMicrosoftOffice製品を使用しています。以前のバージョンを使用している場合は、スクリーンショットと若干の違いが見られる場合があります。

VBAエディタを有効にして使用する方法

このガイドで使用されているOffice製品のいずれにも、参照されている開発者メニューがないことに気付く場合があります。開発者メニューは、Excel、Word、Outlook、およびPowerpointでのみ使用できます。 OneNoteには、アプリケーション内からVBAコードを編集するためのツールはありませんが、OneNote APIを参照して、他のOfficeプログラムからOneNoteとやり取りすることはできます。

これを行う方法については、次のAdvancedVBAガイドで学習します。

  • オフィス製品で開発者メニューを有効にするには、ファイルを選択します メニューをクリックし、オプションを選択します 左側のナビゲーションメニューから。
  • [オプション]メニューのポップアップが表示されます。 リボンのカスタマイズを選択します 左側のナビゲーションメニューから。
最高のVBAガイド(初心者向け)これまでに必要なもの

左側のリストには、そのOfficeアプリケーションで使用可能なすべてのメニューとメニューコマンドが含まれています。右側のリストは、現在利用可能またはアクティブ化されているものです。

  • 右側のリストにDeveloperが表示されているはずですが、アクティブ化されません。チェックボックスを選択するだけで、開発者メニューがアクティブになります。
最高のVBAガイド(初心者向け)これまでに必要なもの
  • 開発者が表示されない場合 右側で利用可能になり、左側を変更しますコマンドを選択 ドロップダウンからすべてのコマンドへ 。 開発者を探す リストから追加>>を選択します 中央にあるメニューをリボンに追加します。
  • OKを選択します 終わったら。
  • [開発者]メニューがアクティブになったら、メインのアプリケーションウィンドウに戻り、[開発者]を選択できます。 トップメニューから。
  • 次に、コードの表示を選択します リボンの[コントロール]グループから、VBAエディタウィンドウを開きます。
最高のVBAガイド(初心者向け)これまでに必要なもの
  • これにより、VBAエディタウィンドウが開き、次のいくつかのセクションで学習するコードを入力できます。
最高のVBAガイド(初心者向け)これまでに必要なもの
  • 毎日使用するいくつかのOfficeアプリケーションに開発者メニューを追加してみてください。 VBAエディタウィンドウを開くことに慣れたら、このガイドの次のセクションに進んでください。

初心者向けの一般的なVBAプログラミングのヒント

VBAエディターを開くと、左側のパネルのナビゲーションオプションがOfficeアプリケーションごとに異なって表示されます。

最高のVBAガイド(初心者向け)これまでに必要なもの

これは、VBAコードを配置できる使用可能なオブジェクトが、アプリケーションにあるオブジェクトによって異なるためです。たとえば、Excelでは、ブックまたはシートオブジェクトにVBAコードを追加できます。 Wordでは、VBAコードをドキュメントに追加できます。パワーポイントでは、モジュールのみ。

だから、さまざまなメニューに驚かないでください。 VBAコードの構造と構文は、すべてのアプリケーションで同じです。唯一の違いは、参照できるオブジェクトと、VBAコードを介してそれらのオブジェクトに対して実行できるアクションです。

VBAコードを介して実行できるさまざまなオブジェクトとアクションについて詳しく説明する前に、まず、VBAコードを作成するときに使用できる最も一般的なVBAの構造と構文を見てみましょう。

VBAコードを配置する場所

VBAエディターを使用している場合は、編集ウィンドウの上部にある2つのドロップダウンボックスを使用して、コードを添付するオブジェクトと、コードを実行するタイミングを選択する必要があります。

たとえば、Excelで、ワークシートを選択した場合 およびアクティブ化 、ワークシートが開かれるたびにコードが実行されます。

最高のVBAガイド(初心者向け)これまでに必要なもの

VBAコードをトリガーするために使用できるその他のワークシートアクションには、ワークシートが変更されたとき、ワークシートが閉じられたとき(非アクティブ化されたとき)、ワークシートの計算が実行されたときなどがあります。

エディターでVBAコードを追加するときは、必ずVBAコードをオブジェクトに配置し、そのコードをトリガーするために使用する正しいアクションを使用してください。

VBAIFステートメント

IFステートメントは、他のプログラミング言語と同じようにVBAで機能します。

IFステートメントの最初の部分は、条件または条件のセットが真であるかどうかを調べます。これらの条件は、ANDまたはOR演算子で結合して、リンクすることができます。

1つの例は、スプレッドシートの成績が「合格」の成績を上回っているか下回っているかを確認し、合格または不合格のステータスを別のセルに割り当てることです。

If Cells(2、2)> 75 Then Cells(2、3)=“ Pass” Else Cells(2、3)=“ Fail”

ステートメント全体を1行にまとめたくない場合は、行の最後に「_」記号を追加することで、ステートメントを複数の行に分割できます。

If Cells(2、2)> 75 Then _
Cells(2、3)=“ Pass” Else _
Cells(2、3)=“ Fail”

この手法を使用すると、多くの場合、コードの読み取りとデバッグがはるかに簡単になります。

VBA For Next Loops

IFステートメントは、単一のセルを調べる上記の例のように、単一の比較に最適です。しかし、セルの全範囲をループして、それぞれに対して同じIFステートメントを実行したい場合はどうでしょうか。

この場合、FORループが必要になります。

これを行うには、範囲の長さを使用し、データを含む行数でその長さをループする必要があります。

これを行うには、範囲変数とセル変数を定義し、それらをループする必要があります。また、結果を適切な行に出力できるように、カウンターを定義する必要があります。したがって、VBAコードには最初にこの行が含まれます。

範囲としての乱数、範囲としてのセル
整数としての薄暗いrowCounter

範囲サイズを次のように定義します。

Set rng =Range(“ B2:B7”)
rowCounter =2

最後に、FORループを作成して、その範囲内のすべてのセルをステップスルーし、比較を行うことができます。

For Each cell In rng
   If cell.Value > 75 Then _
   Cells(rowCounter, 3) = "Pass" Else _
   Cells(rowCounter, 3) = "Fail"

   rowCounter = rowCounter + 1

Next cell

このVBAスクリプトを実行すると、実際のスプレッドシートに結果が表示されます。

最高のVBAガイド(初心者向け)これまでに必要なもの

VBAWhileループ

Whileループも、FORループと同様に一連のステートメントをループしますが、ループが継続する条件は、真のままである条件です。

たとえば、次のようにrowCounter変数を使用するだけで、上記と同じFORループをWHILEループとして記述できます。

While rowCounter < rng.Count + 2
   If Cells(rowCounter, 2) > 75 Then _
   Cells(rowCounter, 3) = "Pass" Else _
   Cells(rowCounter, 3) = "Fail"
   rowCounter = rowCounter + 1
Wend

注: rng.Count + 2 行カウンターは2から始まり、データが終了する行7で終了する必要があるため、終了制限が必要です。ただし、範囲(B2:B7)のカウントは6のみであり、Whileループは、カウンターがカウンターよりも大きい場合にのみ終了します。したがって、最後のrowCounter値は8(またはrng.Count + 2)である必要があります。

次のようにWhileループを設定することもできます。

rowCounter <=rng.Count + 1の間

rowCounter変数がデータの最後(行7)に達すると、ループが終了する可能性があるため、範囲カウント(6)を1だけインクリメントできます。

VBADoWhileおよびDoUntilLoops

DoWhileループとDoUntilループは、Whileループとほぼ同じですが、動作が少し異なります。

  • Whileループ ループの開始時に条件が真であるかどうかをチェックします。
  • Do-While Loop ループ内のステートメントを実行した後、条件が真であるかどうかをチェックします。
  • Do-Until Loop ループの実行後も条件がfalseであるかどうかを確認します。

この場合、上記のWhileループをDo-Whileループとして次のように書き直します。

Do
   If Cells(rowCounter, 2) > 75 Then _
   Cells(rowCounter, 3) = "Pass" Else _
   Cells(rowCounter, 3) = "Fail"
   
   rowCounter = rowCounter + 1
Loop While rowCounter < rng.Count + 2

この場合、ロジックはあまり変更されませんが、すべてのステートメントが実行された後にロジックの比較が行われることを確認したい場合(少なくとも1回は何でも実行できるようにする)、Do-WhileまたはDo-Untilループが適切なオプションです。

VBA Select Case Statements

VBAコードの構造化を開始するために理解する必要がある論理ステートメントの最後のタイプは、SelectCaseステートメントです。

上記の例で、合格不合格だけではない採点方法が必要だとします。代わりに、AからFまでの文字グレードを割り当てます。

これは、次のSelectCaseステートメントで実行できます。

For Each cell In rng
   
   Select Case cell

   Case 95 To 100
      Cells(rowCounter, 3) = "A"
   Case 85 To 94
      Cells(rowCounter, 3) = "B"
   Case 75 To 84
      Cells(rowCounter, 3) = "C"
   Case 65 To 74
      Cells(rowCounter, 3) = "D"
   Case 0 To 64
      Cells(rowCounter, 3) = "F"
   End Select

   rowCounter = rowCounter + 1

Next cell

このVBAスクリプトを実行した後のスプレッドシートは、次のようになります。

最高のVBAガイド(初心者向け)これまでに必要なもの

これで、MicrosoftOfficeアプリケーションでVBAの使用を開始するために知っておく必要のあるすべてのことがわかりました。


  1. 初心者向けのチートエンジン(完全ガイド)

    Cheat Engineは、ゲーマーがさまざまなゲームの制限を克服するために(または単に楽しみのために)要件に従ってさまざまなゲーム値を編集するために使用するWindowsOSの主要なツールの1つです。メモリをスキャンし、デバッガー機能を使用して操作を実行します(つまり、ゲームでの不正行為)。 そのニッチで最高のツールの1つであるため、初心者にとって最高のユーザーインターフェイスの1つを備えておらず、操作するにはある程度の専門知識が必要です。そこで、初心者向けガイドをまとめました。 初心者にとって物事を簡単にし、チートエンジンの適切な使用方法を教えるため。 ただし、先に進む前に、すべての

  2. インストールが必要な 5 つの最適な Outlook アドイン

    私たちは皆それらを使用しており、それらすべてを愛しています。アドインは、ほとんどすべての現代の技術労働者が日常的に使用しているか、少なくとも 1 つ使用しているほど多くの方法で私たちの生活を簡単かつシンプルにします。 Outlook ユーザーの場合は、生産性を飛躍的に向上させるためにダウンロードできるさまざまなアドインが Outlook でサポートされていることがわかります。この記事では、Outlook ユーザーが利用できる最適な 5 つの Outlook アドインについて説明します。それでは、それらすべてを見ていきましょう。 1.ブーメラン Boomerang は無料の Outloo