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 = 'Send Mail' 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の形式で参照されます。つまり、マクロは記録時に使用したものと同じセルで実行されます。
相対参照
- セルは「$」による固定なしで参照されます。つまり、マクロは実行場所を基準とした相対位置のセルで実行されます。