VBAマクロの作成、実行、記録(Web)

VBAマクロの作成、実行、記録(Web)

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

マクロとは?

マクロは、手動の作業を繰り返す代わりに、特定の処理を自動実行するための特殊なプログラムです。Visual Basic for Applications(VBA)は、マクロの作成に使用するプログラミング言語です。Zoho Sheetでは、VBAエディターを使用してマクロを作成、記録、実行、管理できます。

マクロを作成するには

  1. [ツール]→[VBAマクロ]→[マクロを作成]に移動します。
  2. 表示された[マクロを作成]ダイアログで、任意のマクロ名と説明を入力します。
  3. 完了したら、[作成]をクリックします。
  4. VBAエディターで、マクロのコードを作成できます。
  5. 完了したら、[保存]をクリックします。

はじめに使用できるマクロコードのサンプル

行の非表示と再表示

  1. Sub HideUnhideRowColumn()
  2. Sheets('Sheet1').Columns('A:E').Hidden = True
  3. Sheets('Sheet1').Columns('C:D').Hidden = False
  4. Sheets('Sheet1').Rows('11:15').Hidden = True
  5. Sheets('Sheet1').Rows('12:13').Hidden = False
  6. End Sub

行の切り取り、コピー、貼り付け

  1. Private Sub CopyCutRow()
  2. WorkSheets('Sheet1').Rows(2).Copy WorkSheets('Sheet1').Rows(4) //2行目をコピーして4行目に貼り付けます
  3. WorkSheets('Sheet2').Rows(2).Cut WorkSheets('Sheet1').Rows(4)//2行目を切り取って4行目に貼り付けます
  4. End Sub

セルの値の変更に基づくメール送信

  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Set watchRange = Range('B1:B100') '監視するセル範囲は次のとおりとします
  3. If Not Intersect(Target,watchRange) Is Nothing Then
  4. If Target.Value = 'メールを送信' Then
  5. ThisWorkbook.HasRoutingSlip = True
  6. With ThisWorkbook.RoutingSlip
  7. .Recipients = Array('SendEmail@zoho.com') '複数の受信者にメールを送信できます
  8. .Subject = 'タスクが完了しました'
  9. .Message = 'メール本文' & Target.Row 'セルの値をメールで送信します
  10. .AttachWorkbook = True
  11. 'デフォルトでは、ファイルがメールに添付されます。添付が不要な場合は、
  12.         ' .AttachWorkbookをFalseに設定します。
  13. End With
  14. ThisWorkbook.Route
  15. End If
  16. End If
  17. End Sub


ワークブックを開くイベントと新しいシートの作成イベント

  1. REM ThisWorkbookモジュール

  2. Private Sub Workbook_Open()
  3. Msgbox('ワークブックを開くイベントです ',-1,'おかえりなさい!')
  4. End Sub
  5. Private Sub Workbook_NewSheet(ByVal sh As Object)
  6. Msgbox('新しいシートの作成イベントです。シートを作成しました! ',-1,' 名前を付けてください ')
  7. End Sub


ワークシートの変更イベント

  1. REM シートモジュール

  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3. Application.EnableEvents = false
  4. On Error Goto ENEV
  5. REM 以下にコードを追加してください
  6. Msgbox('変更イベントです ',-1,'適切に変更されました!')
  7. ENEV:
  8. Application.EnableEvents = true
  9. End Sub

マクロを記録するには

  1. [ツール]→[VBAマクロ]→[マクロを記録]に移動します。
  2. 表示された[マクロを記録]ダイアログで、記録するマクロの名前を入力します。必要に応じて、[相対参照を使用]を選択または選択解除できます。
  3. 完了したら、[記録]をクリックします。
  4. マクロの記録を停止するには、停止アイコンをクリックします。また、[コードの表示]をクリックすると、記録したマクロのコードをVBAエディターで確認できます。または、[マクロ一覧]をクリックすると、これまでに作成したマクロの一覧を確認できます。


Info
絶対参照-セルは$Column_Number$Cell_Numberの形式で参照されます。つまり、マクロは記録時に使用したものと同じセルで実行されます。

相対参照-セルは「$」による固定なしで参照されます。つまり、マクロは実行位置を基準とした相対的なセルで実行されます。