Names オブジェクト (Excel)Names object (Excel)

アプリケーションまたはブック内のすべての**Name** オブジェクトのコレクションです。A collection of all the Name objects in the application or workbook.


Name オブジェクトは、セル範囲に付けられている名前を表します。Each Name object represents a defined name for a range of cells. 名前には、組み込みの名前 (Database、Print_Area、Auto_Open など) またはユーザー定義の名前を使用できます。Names can be either built-in names—such as Database, Print_Area, and Auto_Open—or custom names.

_RefersTo_引数は、A1 形式で指定する必要があります。ドル記号 ($) を含めることもできます。ドル記号 ($) を使用します。The RefersTo argument must be specified in A1-style notation, including dollar signs ($) where appropriate. たとえば、sheet1 でセル A10 が選択されている場合、 _RefersTo_引数 "= Sheet1!" を使用して名前を定義します。A1: B1 "という新しい名前は、実際にはセル A10: B10 (相対参照が指定されているため) を参照しています。For example, if cell A10 is selected on Sheet1 and you define a name by using the RefersTo argument "=sheet1!A1:B1", the new name actually refers to cells A10:B10 (because you specified a relative reference). 絶対参照を指定するには、"= sheet1! $A $1: $B $1" を使用します。To specify an absolute reference, use "=sheet1!$A$1:$B$1".


namesコレクションを取得するのにには、 Workbookオブジェクトの**names** プロパティを使用します。Use the Names property of the Workbook object to return the Names collection. 次の使用例は、作業中のブックのすべての名前と参照先のアドレスの一覧を作成します。The following example creates a list of all the names in the active workbook, plus the addresses that they refer to.

Set nms = ActiveWorkbook.Names 
Set wks = Worksheets(1) 
For r = 1 To nms.Count 
    wks.Cells(r, 2).Value = nms(r).Name 
    wks.Cells(r, 3).Value = nms(r).RefersToRange.Address 

名前を作成してコレクションに追加するには、 addメソッドを使用します。Use the Add method to create a name and add it to the collection. 次の使用例は、Sheet1 というワークシートのセル範囲 A1: C20 を参照する新しい名前を作成します。The following example creates a new name that refers to cells A1:C20 on the worksheet named Sheet1.

Names.Add Name:="test", RefersTo:="=sheet1!$a$1:$c$20"

名前**** (インデックス) に名前の__ インデックス番号または定義された名前を使用して、単一のnameオブジェクトを返します。Use Names (index), where index is the name index number or defined name, to return a single Name object. 次の使用例は、作業中のブックから mySortRange 名前を削除します。The following example deletes the name mySortRange from the active workbook.


この例は名前付き範囲をデータの入力規則用の式として使用します。This example uses a named range as the formula for data validation. この例では、シート 2 の範囲 A2:A100 に検証データが含まれている必要があります。This example requires the validation data to be on Sheet 2 in the range A2:A100. この検証データは、範囲 D2: D10 でシート1に入力されたデータを検証するために使用されます。This validation data is used to validate data entered on Sheet1 in the range D2:D10.

Sub Add_Data_Validation_From_Other_Worksheet()
'The current Excel workbook and worksheet, a range to define the data to be validated, and the target range
'to place the data in.
Dim wbBook As Workbook
Dim wsTarget As Worksheet
Dim wsSource As Worksheet
Dim rnTarget As Range
Dim rnSource As Range

'Initialize the Excel objects and delete any artifacts from the last time the macro was run.
Set wbBook = ThisWorkbook
With wbBook
    Set wsSource = .Worksheets("Sheet2")
    Set wsTarget = .Worksheets("Sheet1")
    On Error Resume Next
    On Error GoTo 0
End With

'On the source worksheet, create a range in column A of up to 98 cells long, and name it "Source".
With wsSource
    .Range(.Range("A2"), .Range("A100").End(xlUp)).Name = "Source"
End With

'On the target worksheet, create a range 8 cells long in column D.
Set rnTarget = wsTarget.Range("D2:D10")

'Clear out any artifacts from previous macro runs, then set up the target range with the validation data.
With rnTarget
    With .Validation
        .Add Type:=xlValidateList, _
             AlertStyle:=xlValidAlertStop, _
'Set up the Error dialog with the appropriate title and message
        .ErrorTitle = "Value Error"
        .ErrorMessage = "You can only choose from the list."
    End With
End With

End Sub



関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.