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

Tabellenblatt mit Inputbox umbenennen

Forumthread: Tabellenblatt mit Inputbox umbenennen

Tabellenblatt mit Inputbox umbenennen
27.11.2002 11:51:22
Michael
Hallo VBA-Könner,

Ich möchte gerne das aktuelle Tabellenblatt per Eingabeaufforderung (Inputbox etc.) umbenennen.

(Stehe leider noch in den Kinderschuhen von VBA.)

Thanks.

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Tabellenblatt mit Inputbox umbenennen
27.11.2002 11:56:02
Frederik Fuhrmann
Hallo!

Sub tset()
Dim Name

Name = InputBox("Bitte geben Sie den Namen ein!", "Blattname")
ActiveSheet.Name = Name

End Sub

Gruß
F.

Re: Tabellenblatt mit Inputbox umbenennen
27.11.2002 11:56:50
Boris
Hallo Michael,

Allerdings müssen eigentlich noch Fehlerbehandlungen erfolgen (Tabellenname schon existent, falsche Zeichen etc.)

Gruß Boris

Anzeige
Re: Tabellenblatt mit Inputbox umbenennen
27.11.2002 11:57:52
andre
hallo michael,
tue es mal per hand und zeichne es dabei auf.
dann noch die inputbox dazu.
Lösung könnte das sein:
sub nameneu()
neuername = InputBox("wasSollsWerden: ")
ActiveSheet.Name = neuername
end sub
gruss andre
Re: Tabellenblatt mit Inputbox umbenennen
27.11.2002 12:04:27
Gerhard W
Ist doch ganz einfach:

Private Sub CommandButton1_Click()

Dim pf As String



pateinf = InputBox("Eingabebezeichnung der Worksheet")
Worksheets(1).Name = pf

End Sub

Den CommandButton mußt du allerdings noch oben rechts Menü(Hammer und Schraubenschlüssel) erstellen, und den Code auswählen
(rechte Maustaste).

Anzeige
Re: Tabellenblatt mit Inputbox umbenennen
27.11.2002 12:26:52
Michael
Hui, das ging aber fix.

Danke für die umfngreichen Antworten. Super Forum.

Re Boris: Tabellenblatt mit Inputbox umbenennen
27.11.2002 12:53:39
Michael
Hallo Boris,
habe von jedem etwas verwurstet. So siehts aus.

Sub TabSet()
Dim TabName

TabName = InputBox("Bitte geben Sie den Namen ein!", "Blattname")
If TabName = False Then
MsgBox "Eingabe wurde abgebrochen!"
ElseIf TabName = "" Then
MsgBox "Keine Eingabe vorgenommen!"
Else
ActiveSheet.Name = TabName

End If
End Sub

Funktioniert auch. Jedoch hast Du recht, was die Fehlerbehandlung betrifft (ungültige Zeichen, Blattname schon vorhanden).

Wie kann ich dieses realisieren ?

DANKE

m


Anzeige
Re: Re Boris: Tabellenblatt mit Inputbox umbenennen
27.11.2002 13:04:24
Boris
Hallo Michael,

bau eine Fehlerbehandlungsroutine ein:

Sub TabSet()
On error goto errorhandler
Dim TabName

TabName = InputBox("Bitte geben Sie den Namen ein!", "Blattname")
If TabName = False Then
MsgBox "Eingabe wurde abgebrochen!"
ElseIf TabName = "" Then
MsgBox "Keine Eingabe vorgenommen!"
Else
ActiveSheet.Name = TabName

End If
Exit sub
Errorhandler:
msgbox "Eingabe nicht erlaubt"
End Sub

Anzeige
Re: Re Boris: Tabellenblatt mit Inputbox umbenennen
27.11.2002 13:22:14
Michael
JA ! Super !

Hier ist das Endprodukt:

Sub TabSet()

' Tabellenblatt umbenennen

On Error GoTo Errorhandler
Dim TabName

TabName = Application.InputBox(Prompt:="Geben Sie einen Namen ein.", Type:=2, Default:="Blatt1")
If TabName = False Then
MsgBox "Eingabe wurde abgebrochen!"
ElseIf TabName = "" Then
MsgBox "Nix eingegeben!"
Else
ActiveSheet.Name = TabName

End If
Exit Sub
Errorhandler:
MsgBox "Eingabe nicht erlaubt"
End Sub

Anzeige
;
Anzeige

Infobox / Tutorial

Tabellenblatt mit Inputbox umbenennen


Schritt-für-Schritt-Anleitung

Um ein Tabellenblatt in Excel mithilfe einer Inputbox umzubenennen, kannst du folgenden VBA-Code verwenden. Dies setzt voraus, dass du grundlegende Kenntnisse in VBA hast. Gehe wie folgt vor:

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

  2. Klicke auf Einfügen -> Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub TabSet()
       On Error GoTo Errorhandler
       Dim TabName As String
       TabName = Application.InputBox(Prompt:="Geben Sie einen Namen ein.", Type:=2, Default:="Blatt1")
    
       If TabName = False Then
           MsgBox "Eingabe wurde abgebrochen!"
       ElseIf TabName = "" Then
           MsgBox "Nix eingegeben!"
       Else
           ActiveSheet.Name = TabName
       End If
       Exit Sub
    Errorhandler:
       MsgBox "Eingabe nicht erlaubt"
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Du kannst das Makro über Entwicklertools -> Makros ausführen.


Häufige Fehler und Lösungen

Beim Umbenennen von Tabellenblättern über eine Inputbox können verschiedene Fehler auftreten. Hier sind einige häufige Probleme und deren Lösungen:

  • Fehler: Ungültige Zeichen im Blattnamen

    • Lösung: Du kannst die Eingabe des Nutzers vor der Zuweisung an ActiveSheet.Name überprüfen. Füge eine Funktion hinzu, die ungültige Zeichen filtert.
  • Fehler: Blattname bereits vorhanden

    • Lösung: Überprüfe, ob der eingegebene Name bereits existiert. Du kannst dies mit einer Schleife tun, die alle Blätter durchläuft und den Namen vergleicht.

Beispiel für die Überprüfung:

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    If ws.Name = TabName Then
        MsgBox "Der Blattname existiert bereits!"
        Exit Sub
    End If
Next ws

Alternative Methoden

Es gibt verschiedene Möglichkeiten, Tabellenblätter in Excel umzubenennen, abgesehen von der Verwendung einer Inputbox:

  1. Direkte Eingabe im Blattregister: Klicke mit der rechten Maustaste auf den Tab des gewünschten Arbeitsblatts und wähle "Umbenennen". Gib den neuen Namen direkt ein.

  2. Verwendung eines Formularsteuerelements: Füge einen CommandButton in dein Arbeitsblatt ein und verknüpfe ihn mit einem Makro, das das Blatt umbenennt.

  3. Automatisierung mit Schleifen: Du kannst auch eine Schleife verwenden, um mehrere Blätter gleichzeitig umzubenennen, indem du die Namen aus einer Liste oder einer anderen Quelle beziehst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das Umbenennen von Tabellenblättern in verschiedenen Szenarien umsetzen kannst:

  1. Umbenennen basierend auf Datum:

    Sub RenameWithDate()
       Dim newName As String
       newName = "Bericht_" & Format(Date, "dd-mm-yyyy")
       ActiveSheet.Name = newName
    End Sub
  2. Umbenennen aller Blätter in einer Arbeitsmappe:

    Sub RenameAllSheets()
       Dim i As Integer
       For i = 1 To ThisWorkbook.Worksheets.Count
           ThisWorkbook.Worksheets(i).Name = "Sheet" & i
       Next i
    End Sub

Tipps für Profis

  • Verwende Application.InputBox: Diese Methode ermöglicht es dir, den Datentyp zu definieren, was die Eingabe validiert.
  • Fehlerbehandlung: Achte darauf, eine umfassende Fehlerbehandlung einzubauen, damit dein Makro stabil läuft.
  • Dokumentation: Kommentiere deinen Code, damit du später leichter verstehen kannst, was jeder Teil des Codes bewirkt.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass der Benutzer keine ungültigen Zeichen eingibt? Du kannst eine Funktion einbauen, die die Eingabe auf ungültige Zeichen überprüft, bevor du den Namen zuweist.

2. Ist es möglich, das Makro automatisch beim Öffnen der Datei auszuführen? Ja, du kannst das Makro im Workbook_Open-Ereignis platzieren, um es beim Öffnen der Arbeitsmappe auszuführen:

Private Sub Workbook_Open()
    Call TabSet
End Sub

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