VBAマクロの作成、実行、記録方法

VBAマクロの作成、実行、記録方法

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

マクロとは?

マクロは、特定のタスクを手動で繰り返し実行する代わりに、自動で実行できる特別なプログラムです。Visual 基本 for アプリケーション(VBA)は、マクロを記述するために使用されるプログラミング言語です。Zoho Sheet では、VBA エディタを使ってマクロの作成、編集、実行、管理が可能です。

マクロを作成する方法:

  1. ツール > VBA マクロ > マクロの作成 の順に移動します。
  2. 表示されるマクロ作成ダイアログで、適切なマクロ名と説明を入力します。
  3. 入力が完了したら、作成をクリックします。
  4. VBA エディタでマクロコードを記述します。
  5. 作成が完了したら、保存をクリックします。

すぐに使えるサンプルマクロコード:

行の非表示・再表示

  1. Sub HideUnhideRowColumn()
  2. 表計算シート('Sheet1').Columns('A:E').非表示 = 真
  3. 表計算シート('Sheet1').Columns('C:D').非表示 = 無効
  4. 表計算シート('Sheet1').Rows('11:15').非表示 = 真
  5. 表計算シート('Sheet1').Rows('12:13').非表示 = 無効
  6. End Sub

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

  1. 非公開 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. 非公開 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.値 = 'メールを送信する' Then
  5. ThisWorkbook.HasRoutingSlip = 真
  6. With ThisWorkbook.RoutingSlip
  7. .Recipients = Array('SendEmail@Zoho.com') '複数の宛先にメールを送信できます
  8. .件名 = 'タスク 完了'
  9. .メッセージ = 'メール content' & Target.Row 'セルの値をメールで送信
  10. .AttachWorkbook = 真
  11. '初期設定ではファイルがメールに添付されます。不要な場合は
  12.         '.AttachWorkbook を無効にしてください。
  13. End With
  14. ThisWorkbook.Route
  15. End If
  16. End If
  17. End Sub


Workbook 開く event と 新規 sheet 作成 event

  1. REM ThisWorkbook タブ

  2. 非公開 Sub Workbook_Open()
  3. Msgbox('私は開く event です',-1,'Welcome 戻る!')
  4. End Sub
  5. 非公開 Sub Workbook_NewSheet(ByVal sh As Object)
  6. Msgbox('私は新規 sheet event です。シートを作成しました!',-1,' 名前を付けてください ')
  7. End Sub


Worksheet 変更する event

  1. REM Sheet タブ

  2. 非公開 Sub Worksheet_Change(ByVal Target As Range)
  3. Application.EnableEvents = 無効
  4. オン エラー Goto ENEV
  5. REM 追加する your コード below
  6. Msgbox('私は変更する event です',-1,'おっ、良い変更ですね!')
  7. ENEV:
  8. Application.EnableEvents = 真
  9. End Sub

マクロをデータするには:

  1. Tools> VBA Macros> データ Macro に移動します。
  2. 表示される データ Macro ダイアログで、データしたいマクロの 名前を入力してください。'使用する Relative 参照' を好みに応じてチェックまたはチェックを外すことができます。
  3. 完了したら、データ をクリックします。
  4. マクロの記録を停止するには、(停止するアイコン) をクリックします。また、表示する コード をクリックして記録したマクロ コードをVBAエディタで表示できます。もしくは、Macro List をクリックして、作成済みのマクロ一覧を表示可能です。


Info
絶対参照 - セルは $列番号$セル番号 で参照され、マクロの記録時に使用中の同じセルでマクロが実行されます。

相対参照 - セルは '$' の制約なしで参照され、マクロ実行時の位置から相対的なセルでマクロが実行されます。