Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1092to1096
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

Exitenz eines Namensbereiches prüfen ?

Exitenz eines Namensbereiches prüfen ?
k
Hallo,
wie kann ich per VBA prüfen, ob ein Namensbereich vorhanden ist und ihn dann ggf. löschen ?
Löschen vermutlich so:
ActiveWorkbook.Names("KD").Delete
Aber wie kann ich in der aktiven Mape danach suchen - ob es ihn gibt zum löschen ?
so:
If ... Name("KD"). gibt es then
Name("KD").Delete
Gruß und Danke
Kay
AW: Exitenz eines Namensbereiches prüfen ?
29.07.2009 10:58:40
Hajo_Zi
Hallo Kay,
Sub Namen_Suchen()
‚   erstellt von Hajo.Ziplies@web.de 27.04.03
Dim ObBereich As Object
Dim StName As String
StName = InputBox("Bitte gesuchten Namen eingeben!!")
For Each ObBereich In ActiveWorkbook.Names
If ObBereich.Name = StName Then
MsgBox "Name schon vorhanden"
Exit Sub
End If
Next
End Sub

AW: Exitenz eines Namensbereiches prüfen ?
29.07.2009 11:13:24
k
Hallo Hajo,
...Vielen dank schonmal, gefunden hat er ja - aber ich bekomme dennoch eine Fehlermeldung wenn ich die Prozedure laufen lassen - könntest Du bitte einmal drauf schauen - ob ich da noch einen Gedankenfehler habe ?
Gruß
Kay
Private Sub UserForm_Initialize()
StName = "K_ATE"                                             ' Nach Namensbereich suchen
For Each ObBereich In ActiveWorkbook.Names
If ObBereich.Name = StName Then
MsgBox "Gefunden" & ObBereich
End If
Next
ActiveWorkbook.Names("K_ATE").Delete            ' löschen des Namens
ActiveWorkbook.Names.Add Name:="KATE", RefersToR1C1:= _                ' Neu anlegen des  _
Namens
"=OFFSET(ATE!R2C3:R2C3,0,0,COUNTA(ATE!C3)-1)"
ActiveWorkbook.Names("KATE").Comment = "Bereich der Kunden in ATE"
CB1.RowSource = "KATE"       'CB1 zuweisen
dann kommen noch kleine Label-Bezeichnungen
End Sub

Anzeige
AW: Exitenz eines Namensbereiches prüfen ?
29.07.2009 11:17:17
Hajo_Zi
Hallo Kay,
wozu prüfst Du, wenn Du auf das Ergebnis nicht reagierst.
Option Explicit
Private Sub UserForm_Initialize()
Dim BoVor As Boolean
StName = "K_ATE"                                             ' Nach Namensbereich suchen
For Each ObBereich In ActiveWorkbook.Names
If ObBereich.Name = StName Then
BoVor = True
Exit For
End If
Next
If BoVor = False Then
' Dein Code
End If
End Sub

Gruß Hajo
AW: Exitenz eines Namensbereiches prüfen ?
29.07.2009 11:27:00
k
Hallo Hajo,
so läuft es sehr gut...bisher ohne Fehlermeldung ;o)
Warum ich mit dem gesuchten nichts mache... Nun, ich wollte hinter dem If...then den Befehle geben "Lösche" Namensbereich, aber es gab eine Fehlermeldung - daher versuchte ich es es außerhalb der Schleife....aber ohne Erfolg ;o(
Eine Frage noch, will ja was lernen um besser zu werden und nicht immer Euch zu "nerven"...
was genau versteht man unter der Verwendung Boolean und wann setzt man es i.d.R. ein ?
Gruß und Danke Kay
Anzeige
AW: Exitenz eines Namensbereiches prüfen ?
29.07.2009 11:33:41
Hajo_Zi
Hallo Kay,
mit Dim ist die Variable False. Ich bentze die Variable nur um mir zu merken ob der Name vorhanden ist.
Gruß Hajo
AW: Exitenz eines Namensbereiches prüfen ?
29.07.2009 22:28:44
Daniel
Hi
wenns nur ums löschen geht, kann man das auch einfach so machen:
On Error Resume Next
ActiveWorkbook.Names("KD").Delete
On Error Goto 0
durch "On Error Resume Next" macht Excel bei einem Fehler einfach mit dem nächsten Prozedurschritt weiter und bricht nicht ab.
Wenn der Name nicht vorhanden ist, braucht man ihn ja auch nicht zu löschen und Excel kann mit dem Programm weiter fortfahren.
allerdings sollte man diese Option baldmöglichst wieder deaktiveren, sonst läuft man Gefahr, fehlerhaften Code zu programmieren ohne es beim Testen zu merken.
Man wundert sich dann vielleicht über seltsame Ergebnisse, hat aber kaum eine Chance, die Fehlerursache zu finden, daher sollte man direkt dahinter wieder "On Error Goto 0" anwenden.
gruß, Daniel
Anzeige
AW: Exitenz eines Namensbereiches prüfen ?
04.08.2009 10:28:36
k
Ok, vielen Dank !
Habe es bereits umgesetzt, allerdings noch kein Feedback gegeben - sorry !
Gruß
Kay
AW: Ok, Danke für die Rückmeldung
04.08.2009 11:33:53
Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige