Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Prüfung ob Blattname bereits vorhanden?

Prüfung ob Blattname bereits vorhanden?
15.07.2004 12:17:43
Oliver
Hallo an alle!
Wie kann ich prüfen, ob ein Tabellenblatt bereits vorhanden ist? Das Problem ist, es gibt in der Datei auch ausgeblendete Tabellenblätter und da möchte ich eben prüfen ob schon ein ausgeblendetes Blatt mit dem Namen vorhanden ist. Hat jemand eine Idee?
Bin für jede Hilfe dankbar.
MfG,
Oliver
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfung ob Blattname bereits vorhanden?
Nike
Hi,

Sub pruef
strWks = application.inputbox("Blattname")
if pruef(strWks) then
msgbox strWks & "ist vorhanden"
else
msgbox strWks & "ist nicht vorhanden"
end if
End Sub


Function pruef(strNam as string) as boolean
dim wks as worksheet
pruef = false
for each wks in activeworkbook.worksheets
if wks.nmae = strNam then
pruef = true
exit function
end if
next
End Function

Ha, alles ohne Editor, mal schaun, ob ich nen Fehler drinn hab ;-)
Bye
Nike
Anzeige
AW: Prüfung ob Blattname bereits vorhanden?
15.07.2004 12:32:19
ANdreas
Hallo Oliver,
so etwa in der Form:

Sub BlattnameVorhanden()
Dim s$, ws As Worksheet
s = InputBox("Welcher Blattname soll auf Existenz geprüft werden?", _
"Eingabe Blattname")
For Each ws In Sheets
If s = ws.Name Then
MsgBox s & " bereits vorhanden"
Exit Sub
End If
Next ws
If Not s = "" Then MsgBox s & " ist noch nicht belegt!"
End Sub

Gruß
Andreas
Anzeige
AW: Prüfung ob Blattname bereits vorhanden?
Uduuh
Hallo,
auf die brutale Tour, ohne Schleife:

Sub pruefen
dim sh as worksheet, strName as string
strName=Inputbox("Blattname?")
on error resume next
set sh=sheets(strName)
if sh is nothing then
Msgbox(strname &" ist nicht da")
else
Msgbox(strname &" ist da.")
end if
End Sub

Gruß aus'm Pott
Udo
Anzeige
Danke Euch dreien, funktioniert prima. o.T.
Oliver
;
Anzeige
Anzeige

Infobox / Tutorial

Prüfung, ob ein Tabellenblattname bereits vorhanden ist


Schritt-für-Schritt-Anleitung

Um zu prüfen, ob ein Tabellenblatt bereits vorhanden ist, kannst du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub BlattnameVorhanden()
       Dim s As String, ws As Worksheet
       s = InputBox("Welcher Blattname soll auf Existenz geprüft werden?", "Eingabe Blattname")
       For Each ws In Sheets
           If s = ws.Name Then
               MsgBox s & " ist bereits vorhanden"
               Exit Sub
           End If
       Next ws
       If Not s = "" Then MsgBox s & " ist noch nicht belegt!"
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle BlattnameVorhanden aus und klicke auf Ausführen.

Mit diesem Makro kannst du schnell und einfach überprüfen, ob ein Tabellenblatt vorhanden ist.


Häufige Fehler und Lösungen

  • Fehler: Subscript out of range

    • Lösung: Stelle sicher, dass der Blattname korrekt eingegeben ist und das Blatt existiert.
  • Fehler: Typenkonflikt

    • Lösung: Achte darauf, dass der Eingabewert ein String ist. Verwende CStr() zur Konvertierung, falls nötig.
  • Fehler: Blattname ist nicht da

    • Lösung: Überprüfe, ob du den richtigen Namen eingegeben hast und ob das Blatt eventuell ausgeblendet ist.

Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, gibt es alternative Methoden, um die Existenz eines Tabellenblattes zu prüfen:

  1. Manuelle Überprüfung: Durchsuche die Liste der Tabs in Excel und achte darauf, ob der Name bereits vorhanden ist.
  2. Benutze Formeln: Mit einer Kombination aus WENN und ISTFEHLER kannst du in einer Zelle eine einfache Prüfung durchführen, aber dies ist nicht so effektiv wie VBA.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das VBA-Skript anpassen kannst:

  • Prüfung auf ausgeblendete Blätter:

    Sub BlattnameVorhanden()
       Dim s As String, ws As Worksheet
       s = InputBox("Welcher Blattname soll auf Existenz geprüft werden?", "Eingabe Blattname")
       For Each ws In ThisWorkbook.Worksheets
           If s = ws.Name Then
               MsgBox s & " ist bereits vorhanden."
               Exit Sub
           End If
       Next ws
       MsgBox s & " ist noch nicht belegt!"
    End Sub
  • Umgang mit großen Datenmengen: Wenn du viele Blätter hast, kannst du die Suche optimieren, indem du nur die sichtbaren Blätter prüfst oder eine Liste aller Blätter in einer neuen Tabelle anzeigst.


Tipps für Profis

  • Verwende Option Explicit: Dies zwingt dich, alle Variablen zu deklarieren und hilft, Fehler zu vermeiden.
  • Fehlerbehandlung einbauen: Nutze On Error Resume Next, um Fehler elegant zu handhaben.
  • Automatisiere die Überprüfung: Du kannst das VBA-Skript so anpassen, dass es automatisch beim Öffnen der Arbeitsmappe ausgeführt wird.

FAQ: Häufige Fragen

1. Wie prüfe ich, ob der Name eines Tabellenblatts bereits vorhanden ist? Du kannst ein VBA-Makro verwenden, um die Blätter in der Arbeitsmappe zu durchlaufen und den Namen zu überprüfen.

2. Was passiert, wenn ich einen Namen eingebe, der bereits verwendet wird? Das Makro zeigt eine Nachricht an, dass der Blattname bereits vorhanden ist.

3. Kann ich das Makro anpassen, um nur sichtbare Blätter zu prüfen? Ja, du kannst die Schleife so anpassen, dass sie nur durch sichtbare Blätter iteriert.

4. Wie kann ich sicherstellen, dass das Makro auch bei ausgeblendeten Blättern funktioniert? Das oben angegebene Beispiel überprüft alle Blätter, unabhängig von ihrem Sichtstatus.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige