英語で読む

次の方法で共有


Names オブジェクト (Excel)

アプリケーションまたはブック内のすべての Name オブジェクトのコレクション。

注釈

Name オブジェクトは、セル範囲に付けられている名前を表します。 名前には、組み込みの名前 (Database、Print_Area、Auto_Open など) またはユーザー定義の名前を使用できます。

RefersTo 引数は、必要に応じてドル記号 ($) を含む A1 スタイルの表記で指定する必要があります。 たとえば、Sheet1 でセル A10 が選択されていて、 RefersTo 引数 "=sheet1!A1:B1"、新しい名前は実際にはセル A10:B10 を参照します (相対参照を指定したため)。 絶対参照を指定するには、"=sheet1!$A$1:$B$1" を使用します。

Workbook オブジェクトの Names プロパティを使用して、Names コレクションを取得します。 次の例では、作業中のブック内のすべての名前と、それらが参照するアドレスの一覧を作成します。

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 
Next

Add メソッドを使用して名前を作成し、コレクションに追加します。 次の例では、Sheet1 という名前のワークシートのセル A1:C20 を参照する新しい名前を作成します。

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

単一の Name オブジェクトを返すには、名前 (index) を使用します。index は名前インデックス番号または定義された名前です。 次の使用例は、作業中のブックから mySortRange という名前を削除します。

ActiveWorkbook.Names("mySortRange").Delete

この例は名前付き範囲をデータの入力規則用の式として使用します。 この例では、シート 2 の範囲 A2:A100 に検証データが含まれている必要があります。 この検証データは、シート 1 で 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
    .Names("Source").Delete
    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
    .ClearContents
    With .Validation
        .Delete
        .Add Type:=xlValidateList, _
             AlertStyle:=xlValidAlertStop, _
             Formula1:="=Source"
        
'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

メソッド

プロパティ

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。