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

白崎一哉