excel-vba
Namngivna intervall
Sök…
Introduktion
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.
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 viaThisWorkbook.Worksheets("Sheet1").Range("Width")
Hantera namngivna intervall med namnhanteraren
Fliken Formler> Grupp med definierade namn> Knapp för namnhanterare
Named Manager låter dig:
- Skapa eller ändra namn
- Skapa eller ändra cellreferens
- Skapa eller ändra omfattning
- Radera befintligt namngivna intervall
Named Manager ger en användbar snabb titt på trasiga länkar.
Namngivna Range Arrays
Exempelark
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