Sök…


Introduktion

Ämnet bör innehålla information som är specifikt relaterad till namngivna områden i Excel, inklusive metoder för att skapa, ändra, radera och få åtkomst till definierade namngivna områden.

Definiera ett namngivet intervall

Genom att använda namngivna intervall kan du beskriva betydelsen av en cell (er) innehåll och använda detta definierade namn i stället för en faktisk celladress.

Till exempel kan formel =A5*B5 ersättas med =Width*Height att göra formeln mycket lättare att läsa och förstå.

För att definiera ett nytt namngivet område väljer du cell eller celler som ska namnges och skriver sedan nytt namn i rutan Namn bredvid formelfältet.

ange bildbeskrivning här


Obs: Namngivna områden är standard för global räckvidd vilket innebär att de kan nås var som helst i arbetsboken. Äldre versioner av Excel möjliggör duplikatnamn så man måste vara noga med att förhindra duplikatnamn av global räckvidd annars blir resultaten oförutsägbara. Använd Namnhanteraren från fliken Formler för att ändra räckvidd.

Använda Named Ranges i VBA

Skapa ett nytt namngivet intervall som heter 'MyRange' tilldelat cell A1

ThisWorkbook.Names.Add Name:="MyRange", _
    RefersTo:=Worksheets("Sheet1").Range("A1")

Radera definierat namngivet område efter namn

ThisWorkbook.Names("MyRange").Delete

Åtkomst till namngivna intervall med namn

Dim rng As Range
Set rng = ThisWorkbook.Worksheets("Sheet1").Range("MyRange")
Call MsgBox("Width = " & rng.Value)

Öppna ett namngivet intervall med en genväg

Precis som alla andra intervall kan namngivna områden nås direkt med en genvägsnotation som inte kräver att ett Range objekt skapas. De tre raderna från kodutdraget ovan kan ersättas med en enda rad:

Call MsgBox("Width = " & [MyRange])

Obs! Standardegenskapen för ett intervall är dess värde, så [MyRange] är samma som [MyRange].Value

Du kan också ringa metoder på intervallet. Följande väljer MyRange :

[MyRange].Select

Obs: En varning är att genvägsnotationen inte fungerar med ord som används någon annanstans i VBA-biblioteket. Till exempel skulle ett intervall med namnet Width inte vara tillgängligt som [Width] men fungerar som förväntat om det nås via ThisWorkbook.Worksheets("Sheet1").Range("Width")

Hantera namngivna intervall med namnhanteraren

Fliken Formler> Grupp med definierade namn> Knapp för namnhanterare

Named Manager låter dig:

  1. Skapa eller ändra namn
  2. Skapa eller ändra cellreferens
  3. Skapa eller ändra omfattning
  4. Radera befintligt namngivna intervall

ange bildbeskrivning här


Named Manager ger en användbar snabb titt på trasiga länkar.

ange bildbeskrivning här

Namngivna Range Arrays

Exempelark

ange bildbeskrivning här


Koda

Sub Example()
    Dim wks As Worksheet
    Set wks = ThisWorkbook.Worksheets("Sheet1")
    
    Dim units As Range
    Set units = ThisWorkbook.Names("Units").RefersToRange
    
    Worksheets("Sheet1").Range("Year_Max").Value = WorksheetFunction.Max(units)
    Worksheets("Sheet1").Range("Year_Min").Value = WorksheetFunction.Min(units)
End Sub

Resultat

ange bildbeskrivning här



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow