Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1096to1100
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Benannte Bereiche prüfen

Benannte Bereiche prüfen
André
Moin zusammen,
mal wieder eine VBA-Frage. Ich habe eine Tabelle, in der jede Menge Bereiche mit Namen versehen sind.
Nun möchte ich in VBA prüfen, ob einige vorgegebene Namen vorhanden sind.
Hierzu habe ich die vorgegebenen Namen in einem Array gespeichert:
DIM SollNamen (3) AS String
SollNamen(0) = "Erster"
SollNamen(1) = "Zweiter"
SollNamen(2) = "Dritter"
SollNamen(3) = "Vierter"
Ich weiß auch, daß ich mit ActiveWorkbook.Names an die Namen der definierten Bereiche komme.
Wie aber kann ich prüfen, ob die "SollNamen" in den definierten Bereichen vorkommen?
Danke für Eure Hilfe!
Gruß, André

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Benannte Bereiche prüfen
26.08.2009 13:40:39
Adelhorst
Hallo Andre.
Bau dir folgende Funktion in ein Modul ein:
Public Function NameExist(N As String) As Boolean
Dim wn As Name
For Each wn In ActiveWorkbook.Names
If wn.Name = N Then NameExist = True: Exit Function
Next wn
NameExist = False
End Function

Gruß Adelhorst
Das habe ich gesucht
26.08.2009 14:20:07
André
Danke, das funktioniert wunderbar.
Gruß, André
Mit Rudi's Lösung
26.08.2009 15:15:04
Adelhorst
Hallo Andre
Hier die Funktion mit Rudis Lösungansatz. Da er es direkter angeht und nicht jedesmal die komplette Liste durchlaufen muss, möchte es dir daher auch noch zur Auswahl stellen:
Public Function NameExist(SuchName As String) As Boolean
'Funktion:    Gibt zurück, ob ein gesuchter Name als definierter
'             Bereichsname im aktuellen Workbook vorhanden ist.
Dim n As Name
On Error Resume Next
Set n = ActiveWorkbook.Names(SuchName)
On Error GoTo 0
If n Is Nothing Then
NameExist = False
Else
NameExist = True
End If
End Function
Gruß Adelhorst
Anzeige
AW: Benannte Bereiche prüfen
26.08.2009 13:47:13
Rudi
Hallo,
Sub tt()
Dim SollNamen(3) As String, n As Name, i As Integer
SollNamen(0) = "Erster"
SollNamen(1) = "Zweiter"
SollNamen(2) = "Dritter"
SollNamen(3) = "Vierter"
For i = 0 To 3
Set n = Nothing
On Error Resume Next
Set n = ActiveWorkbook.Names(SollNamen(i))
On Error GoTo 0
If n Is Nothing Then
MsgBox SollNamen(i) & " nicht da."
End If
Next
End Sub

Gruß
Rudi
MsgBox IsError(Evaluate(SollNamen(3)))
26.08.2009 15:16:43
NoNet
Hallo André,
hier noch eine Version :
Sub NamenPruefen()
Dim SollNamen(3) As String, intT As Integer
SollNamen(0) = "Erster"
SollNamen(1) = "Zweiter"
SollNamen(2) = "Dritter"
SollNamen(3) = "Vierter"
For intT = LBound(SollNamen) To UBound(SollNamen)
If Not IsError(Evaluate(SollNamen(intT))) Then _
MsgBox "Name '" & SollNamen(intT) & "' ist bereits vorhanden !"
Next
End Sub
Gruß, NoNet
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige