VBAマクロ
VBAマクロ
お知らせ:
当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版
を参照してください。
マクロを作成するには
マクロを作成するには、次の手順を実行します。
[開発者]
→
[マクロを作成]
に移動します
表示されたダイアログで、マクロの名前と説明を入力し、[作成]をクリックします。
VBAエディターにコードを入力します。
[
保存
]をクリックします。
すぐに使用できるマクロコードのサンプル
行の非表示と再表示
Sub HideUnhideRowColumn()
Sheets('Sheet1').Columns('A:E').Hidden = True
Sheets('Sheet1').Columns('C:D').Hidden = False
Sheets('Sheet1').Rows('11:15').Hidden = True
Sheets('Sheet1').Rows('12:13').Hidden = False
End Sub
行の切り取り、コピー、貼り付け
Private Sub CopyCutRow()
WorkSheets('Sheet1').Rows(2).Copy WorkSheets('Sheet1').Rows(4) //2行目をコピーして4行目に貼り付ける
WorkSheets('Sheet2').Rows(2).Cut WorkSheets('Sheet1').Rows(4)//2行目を切り取って4行目に貼り付ける
End Sub
セルの値の変更に基づくメール送信
Private Sub Worksheet_Change(ByVal Target As Range)
Set watchRange = Range('B1:B100') '監視対象のセルの範囲を指定
If Not Intersect(Target,watchRange) Is Nothing Then
If Target.Value = 'メールを送信' Then
ThisWorkbook.HasRoutingSlip = True
With ThisWorkbook.RoutingSlip
.Recipients = Array('
SendEmail@zoho.com
') '複数の受信者にメールを送信可能
.Subject = 'タスクが完了しました'
.Message = 'メール本文' & Target.Row 'メールでセルの値を送信
.AttachWorkbook = True
'初期設定では、ファイルがメールに添付されます。不要な場合は、
'.AttachWorkbookをFalseに設定します。
End With
ThisWorkbook.Route
End If
End If
End Sub
ワークブックを開くイベントと新しいシートの作成イベント
REM ThisWorkbookモジュール
Private Sub Workbook_Open()
Msgbox('ワークブックを開くイベントです',-1,'おかえりなさい!')
End Sub
Private Sub Workbook_NewSheet(ByVal sh As Object)
Msgbox('新しいシートの作成イベントです。シートが作成されました!',-1,'名前を付けてください')
End Sub
ワークシートの変更イベント
REM シートモジュール
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = false
On Error Goto ENEV
REM 以下にコードを追加
Msgbox('変更イベントです',-1,'適切に変更されました!')
ENEV:
Application.EnableEvents = true
End Sub
マクロを記録するには
マクロを使用すると、日常的な作業を自動化できます。毎日同じ書式設定を適用する場合は、マクロとして記録できます。
マクロを記録するには、次の手順を実行します。
[開発
者]→
[マクロの記録]
に移動します。
入力項目に名前と説明を入力します。
必要に応じて、[相対参照を使用]を選択または選択解除できます。
[記録]
をクリックします。
記録を停止するには、停止アイコン
をクリックします。
記録したマクロをVBAエディターで表示するには[コードの表示]をクリックし、表計算シート内のすべてのマクロを表示するには[マクロ一覧]をクリックします。
絶対参照
- セルは$Column_Number$Cell_Numberの形式で参照されるため、マクロは記録時に使用したものと同じセルで実行されます。
相対参照
- セルは「$」の制約なしで参照されるため、マクロは実行場所を基準とした相対位置のセルで実行されます。