#author("2023-04-24T12:09:51+09:00","","")
#navi(../)

* Excel VBAを使ってでセルの範囲に名前をつける・名前を削除するサンプル [#t63403cb]
Excel VBA使ってセルの範囲に名前をつける、名前を削除するサンプルコードを以下に記します。

#contents
#htmlinsert(office_ads_top.html)

* 動作確認環境 [#da1d2355]
-Windows 10 22H2
-Microsoft® Excel® for Microsoft 365 MSO (バージョン 2303 ビルド 16.0.16227.20202) 32 ビット

* 関連記事 [#la690c0e]
-[[Excelで名前定義された範囲に配列の値を設定するサンプル>VBA/Excelで名前定義された範囲に配列の値を設定するサンプル]]
-[[名前の定義を削除する手順>Excel/名前の定義を削除する手順]]

*関連サイト [#u77b59d4]
-[[Microsoft: Worksheet.Name プロパティ (Excel)>https://learn.microsoft.com/ja-jp/office/vba/api/excel.worksheet.name]]
-[[Microsoft: Names オブジェクト (Excel)>https://learn.microsoft.com/ja-jp/office/vba/api/excel.names]]


* セル範囲に名前とは [#yeb39116]
Excelではセルの範囲に名前を付けることができます。~
以下のようなものです。
#br
#ref(01.png)
#br

* セル範囲を指定し名前を付ける、名前を削除するサンプル [#y007cd51]
以下にサンプルコードを記します。

  Option Explicit
   
  '範囲に名前をつける呼び出しテスト関数
  Sub SetNameTest()
      SetRangeName "Sheet1", "A1:B10", "VBAで設定"
  End Sub
  
  '範囲名を削除する呼び出しテスト関数
  Sub RemoveNameTest()
      RemoveName "Sheet1", "VBAで設定"
  End Sub
  
  '引数で渡された範囲に名前をつける
  Sub SetRangeName(worksheetName As String, targetRange As String, rangeName As String)
      Dim oSheet As Worksheet
      Set oSheet = Worksheets(worksheetName)      'ワークシートを選択
      oSheet.Activate                             'ワークシートをアクティブ化
      oSheet.range(targetRange).Name = rangeName  '範囲(targetRange)に名前を設定
      oSheet.range(rangeName).Select              '範囲(rangeName)で範囲を指定
      Set oSheet = Nothing
  End Sub
  
  '引数で渡された範囲名を削除する
  Sub RemoveName(worksheetName As String, rangeName As String)
      Dim oSheet As Worksheet
      Set oSheet = Worksheets(worksheetName)      'ワークシートを選択
      oSheet.Activate                             'ワークシートをアクティブ化
      ActiveWorkbook.Names(rangeName).Delete      'ワークブック内の名前の定義を削除する
  End Sub


** 範囲に名前を定義する [#l02e2a7e]
上記サンプルコードの ''SetNameTest'' を実行すると、 ''SetRangeName'' を呼び出しA1:B10に 引数で渡した定義名「VBAで設定」を設定します。~
実行例は以下の通りです。

#ref(11.png)

** 範囲定義の名前を削除する [#p1d880c2]
上記サンプルコードの ''RemoveNameTest'' を実行すると、 ''RemoveName'' 引数で渡した定義名「VBAで設定」を削除します。~
尚、本関数 ''RemoveNameTest'' を実行する時は先に ''SetNameTest'' を実行してください。~
実行例は以下の通りです。

#ref(12.png)

以上、セル範囲への名前定義と削除をVBAで操作するサンプルコードでした。

#htmlinsert(office_ads_top.html)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS