Ich möchte gerne das aktuelle Tabellenblatt per Eingabeaufforderung (Inputbox etc.) umbenennen.
(Stehe leider noch in den Kinderschuhen von VBA.)
Thanks.
Ich möchte gerne das aktuelle Tabellenblatt per Eingabeaufforderung (Inputbox etc.) umbenennen.
(Stehe leider noch in den Kinderschuhen von VBA.)
Thanks.
Sub tset()
Dim Name
Name = InputBox("Bitte geben Sie den Namen ein!", "Blattname")
ActiveSheet.Name = Name
End Sub
Gruß
F.
Allerdings müssen eigentlich noch Fehlerbehandlungen erfolgen (Tabellenname schon existent, falsche Zeichen etc.)
Gruß Boris
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).
Danke für die umfngreichen Antworten. Super Forum.
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
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
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
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:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Klicke auf Einfügen
-> Modul
, um ein neues Modul zu erstellen.
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
Schließe den VBA-Editor und kehre zu Excel zurück.
Du kannst das Makro über Entwicklertools
-> Makros
ausführen.
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
ActiveSheet.Name
überprüfen. Füge eine Funktion hinzu, die ungültige Zeichen filtert.Fehler: Blattname bereits vorhanden
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
Es gibt verschiedene Möglichkeiten, Tabellenblätter in Excel umzubenennen, abgesehen von der Verwendung einer Inputbox:
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.
Verwendung eines Formularsteuerelements: Füge einen CommandButton in dein Arbeitsblatt ein und verknüpfe ihn mit einem Makro, das das Blatt umbenennt.
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.
Hier sind einige praktische Beispiele, wie du das Umbenennen von Tabellenblättern in verschiedenen Szenarien umsetzen kannst:
Umbenennen basierend auf Datum:
Sub RenameWithDate()
Dim newName As String
newName = "Bericht_" & Format(Date, "dd-mm-yyyy")
ActiveSheet.Name = newName
End Sub
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
Application.InputBox
: Diese Methode ermöglicht es dir, den Datentyp zu definieren, was die Eingabe validiert.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
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen