EXCELでVBAで名前(領域)を更新する目的の
VBAマクロ ( EXCEL 2000 で作成 )
指定の名前(領域)を確認して
削除、追加 を行うVBAです。
( 利用はご自身の責任の上ご利用ください 責任は負いかねます )
< VBA サンプル >
Sub jAreaAdd()
'*********************************************************
'*
'* 目的の名前(範囲)を更新する。
'* 2009-09-03
'*
'*
'*********************************************************
Dim shname As String: shname = "sheet3" 'シート名称
Dim jwksh As Worksheet 'シートオブジェクト
Dim jAreName As String: jAreName = "AREA" '対象の名称
Dim Wok As Object ' 名前検索 EACH OBJECT
Dim jNamePT1, jNamePT2 As String '開始点と終了点
'対象のシートを選択する
Set jwksh = ThisWorkbook.Worksheets(shname)
jwksh.Select
'対象ブックの領域をすべて調査し、調査対象名称あるか確認
'対象の名称があれば削除する。
'Names Objectは値のみ取得
For Each Wok In ThisWorkbook.Names
If Wok.Name = jAreName Then
Debug.Print "Hit"
'ワークブック上の対象領域を削除する。
ThisWorkbook.Names(jAreName).Delete
End If
Next Wok
'領域の設定を行う
'領域の開始点と終了点
jNamePT1 = "R6C3"
jNamePT2 = "R31C11"
'領域の選択
ThisWorkbook.Names.Add Name:=jAreName, _
RefersToR1C1:="=" & shname & "!" & jNamePT1 & ":" & jNamePT2
End Sub
白崎一哉