VBA - USER DEFINED FUNCTIONS

OBJEKTE:   NAMEN


Option Explicit

Public BereichsObjekt
' Beispiele für benannte Zellbereiche

Sub NameFestlegenV1()
Sheets("Tabelle1").Select
Range("A3:B5").Name = "Bereich1"
MsgBox Range("Bereich1").Address(External:=True)
End Sub

Sub NameFestlegenV2()
ActiveWorkbook.Names.Add Name:="Bereich2", _
RefersToR1C1:="=Tabelle1!R1C1:R5C2"
End Sub

Sub NameFestlegenV3()
ActiveWorkbook.Activate
Sheets("Tabelle1").Select
[A1].CurrentRegion.Activate
ActiveWorkbook.Names.Add Name:="Bereich3", _
RefersTo:="=" + Selection.Address
MsgBox Range("Bereich3").Address(External:=True)
End Sub

Sub NameFestlegenV4()
ActiveWorkbook.Names.Add Name:="Bereich4", _
RefersTo:="=" + ActiveWorkbook.Sheets("Tabelle1"). _
[A1].CurrentRegion.Address(External:=True)
MsgBox Range("Bereich4").Address(External:=True)
End Sub

' NAVIGATION AUF NAMENSBEREICHE
Sub NamensbereichAnspringen1()
Application.Goto Reference:= _
ActiveWorkbook.Names("Bereich3").Name
End Sub

Sub NamensbereichAnspringen2()
Application.Goto Reference:= _
ActiveWorkbook.Names("Namensbereich").Name, _
Scroll:=True
End Sub

Sub ObjektAusNamensbereichBilden()
Set BereichsObjekt = Evaluate(ActiveWorkbook. _
Names("Namensbereich").Value)
MsgBox BereichsObjekt.Address(External:=True)
End Sub

Sub NameFürBereichsObjektZellenBilden()
Set BereichsObjekt = ActiveWorkbook.Sheets("Tabelle1"). _
[A1].CurrentRegion
ActiveWorkbook.Names.Add Name:="Namensbereich", _
RefersTo:="=" + BereichsObjekt.Address(External:=True)
MsgBox Range("Namensbereich").Address(External:=True)
End Sub

Sub NameÄndern()
ActiveWorkbook.Names("Namensbereich").Name = "Ausgefüllt"
End Sub

Sub NamensbereichAusfüllen1()
Application.Goto Reference:=ActiveWorkbook. _
Names("Namensbereich").Name
Selection.Value = "Ausgefüllt"
End Sub

Sub NamensbereichAusfüllen2()
Evaluate(ActiveWorkbook.Names("Namensbereich").Value).Value = "Test"
End Sub

Sub WertInEinerBenanntenZelle1()
' Bereichsobjekte vertragen kein Arbeitsmappe-Objekt als
' Übergeordnetes Objekt
Range("EineBenannteZelle").Value = "EineBenannteZelle"
MsgBox Range("EineBenannteZelle").Value
End Sub

Sub WertInEinerBenanntenZelle2()
' Dieser Code erlaubt es, auf Namens-Bereiche in
' beliebigen Arbeitsmappen zuzugreifen
Set BereichsObjekt = Evaluate(ActiveWorkbook. _
Names("EineBenannteZelle").Name)
BereichsObjekt.Value = "Dies ist eine benannte Zelle"
MsgBox BereichsObjekt.Value
End Sub