見出し画像

VBA入門:Microsoft Officeで効率的なタスクを自動化しよう【ミィン ミィン トゥエ / Myint Myint Htwe】


自己紹介

皆様、こんにちは!
Marvel株式会社のミィンと申します👩🏻‍💻🌷
今回は、Microsoft Officeで使用されるVBAという言語の入門を紹介したいと思います😌


VBAとは?

VBAは、Excel、Word、PowerPointなどのMicrosoft Office製品で使用されるプログラミング言語です。基本的なプログラミング構造(変数、条件分岐、ループなど)を使用して、マクロを作成し、Office製品の機能を拡張したり、タスクを自動化したりできます💻
システムエンジニアの皆さんは、おそらくVBAについてご存知だと思います。
VBAはシステムエンジニアにとって便利なツールです。Excelや他のOfficeアプリケーションでの作業を自動化し、タスクを効率化することができます。データ処理、ファイル操作、既存システムとの連携など幅広い用途に活用できます。


簡単なツールをVBAで作りましょう!

1。Excelを開きます。

2。「開発」タブを表示するために、Excelのメニューから「ファイル」→「オプション」→「リボンのユーザー設定」を開き、「開発」を選択してOKをクリックします

3。「開発」タブが表示されました。

4。Visual Basicエディタを開きます。
  開発タブから「Visual Basic」をクリックします。

5。新しいモジュールを作成するため、エディタ内で「挿入」→「モジュール」を選択します。

6。新しいモジュール内に以下のコードを貼り付けます:

Sub OrganizeData()
    Dim LastRow As Long
    
    ' Get the last row filled with data
    LastRow = Cells(Rows.Count, 2).End(xlUp).Row
    
    ' Insert a new column for data result
    Columns("E:E").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    
    ' Perform data addition
    ' Start from row 2
    For i = 2 To LastRow
        ' combine data from columns B and C and output to column D
        Cells(i, 4).Value = Cells(i, 2).Value + Cells(i, 3).Value
        ' Make result text bold
        Cells(i, 4).Font.Bold = True
    Next i
End Sub
このコードでは、A列とB列のデータを加算し、新しいC列に結果を出力しています。

7。エディタを閉じ、Excelに戻ります。

8。ボタンを「開発」タプから、ボタン一つを追加します。ボタンを右クリックし、「マクロの割り当て」を選択します。そこで、割り当てるマクロを選択し、「OK」をクリックします。

9。A列B列にデータを入れて、「データ整理」ボタンをクリックしたら、VBAコードが実行され、C列加算結果が表示されます。

────────────────────────

コードを詳しく見ましょうか!

以下に、プログラムの各行を詳しく説明します。

Sub OrganizeData()

1。この行は、VBAのサブルーチンを定義しています。ここでは、「OrganizeData」という名前のサブルーチン(マクロ)を作成しています。

Dim LastRow As Long

2。LastRowという変数を宣言しています。この変数は、後で使われる最終行の番号を格納するために使用されます。

' Get the last row filled with data

3。この行は、コメントです。VBAコード中では、「'」で始まる行はコメント行として扱われます。このコメントは、新しいデータ整理用の列を挿入することを説明しています。

LastRow = Cells(Rows.Count, 1).End(xlUp).Row

4。この行では、LastRowにデータが入力されている最終行の行番号を格納しています。Cells(Rows.Count, 1).End(xlUp)は、Excelの特定の列(1列目、つまりA列)で最終行を取得する方法です。この行は、最終行の行番号をLastRowに格納します。

Columns("D:D").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

5。この行は、Excelの列D(新しい列)を挿入するためのコードです。Shift:=xlToRightは、挿入する列の位置を指定します。ここでは、列Dが挿入されることになっています。また、CopyOrigin:=xlFormatFromLeftOrAboveは、挿入された列にコピーする元の書式を指定します

For i = 2 To LastRow

6。Forループを開始します。変数「i」を2行目からLastRowまで(データの最終行まで)増やしていきます。

Cells(i, 4).Value = Cells(i, 2).Value + Cells(i, 3).Value

7。Cells関数を使用して、A列B列のデータを加算し、新しいC列に結果を出力します。Cells(i, 2).Valueは、現在の行のA列の値を取得し、Cells(i, 3).Valueは、B列の値を取得します。そして、結果を新しいC列に出力します。

Cells(i, 4).Font.Bold = True

8。C列のセールをテキストボルドに設定します。

Next i

9。Forループを終了します。

End Sub

10。サブルーチンを終了します。

────────────────────────

最後に

皆さん、どうですか?VBAは😳
例として紹介したツールは簡単ですが、VBAを使って複雑な処理を作成することができます🙌🙌通常の言語であるJavaなどと比べてエディタが書きづらい側面もありますが、Excelを用いてドキュメンテーション管理を行うプロジェクトではかなり便利です🌟
お時間があれば、ぜひ試してみてください👀
最後まで読んで頂き有り難うございました。





皆さんこんにちは😳
Marvel株式会社広報の渡邊です🌸
今回の記事を担当頂いたミィンさんには過去にエンジニアインタビューにもご協力いただいています🙌🙌
ぜひぜひ、そちらの記事もご覧ください👀✅

Marvelでは今年『Marvelアドベントカレンダー2023』をやります🎄🎅Marvelのエンジニアがクリスマスまで記事のバトンを繋ぎます🔥
是非毎日のお楽しみとしてご覧ください😊
★Marvelのアドベントカレンダーはこちらhttps://adventar.org/calendars/9781

この記事が気に入ったらサポートをしてみませんか?