Wie benenne ich ein blatt mit vba in excel um?
Wenn Sie einer Arbeitsmappe ein neues Blatt hinzufügen, haben Sie die Möglichkeit, es zu benennen. Sie können es aber auch jederzeit über die Namenseigenschaft des Arbeitsblatts umbenennen. In diesem Tutorial werden wir uns verschiedene Möglichkeiten zum Umbenennen eines Blatts oder mehrerer Blätter mithilfe von VBA-Code ansehen.
Schritte zum Umbenennen eines Blatts mithilfe von VBA-Code
- Definieren Sie zunächst das Blatt, das Sie umbenennen möchten, mithilfe des Arbeitsblattobjekts.
- Danach müssen Sie (.Name) verwenden, um auf die Namenseigenschaft zuzugreifen, die Sie ändern möchten.
- Geben Sie als Nächstes ein Gleichheitszeichen ein, um VBA den Wert mitzuteilen, den Sie zum Umbenennen des Blatts verwenden möchten.
- Geben Sie am Ende den Namen des Blatts ein, das Sie verwenden möchten.
Nützliche Links: Ausführen eines Makros – Makrorecorder – Visual Basic Editor – Handbuch zu persönlichen Makros
Aktives Blatt umbenennen
Wenn Sie das aktive Blatt umbenennen möchten, müssen Sie in diesem Fall nicht den Blattnamen festlegen, sondern müssen stattdessen das ActiveSheet-Objekt verwenden, das VBA anweist, in diesem Moment auf das aktive Blatt zu verweisen. Hier ist der Code.
Activesheet.Name = "mySheet"
Hinweis: Um ein Blatt umzubenennen, müssen Sie es nicht aktivieren.
Benennen Sie ein Blatt anhand der Blattnummer um
Wie Sie wissen, hat jedes Blatt eine Nummer, abhängig von seiner Position in der Arbeitsmappe. Nehmen wir an, Sie möchten das Blatt, das Sie haben, in die fünfte Zahl umbenennen, der Code wäre.
Sheets(5).Name = "mySheet5"
Wenn Sie das obige Makro ausführen , wird das Blatt auf der fünften Nummer umbenannt.
Überprüfen Sie vor dem Umbenennen, ob das Blatt vorhanden ist
Wenn Sie versuchen, ein nicht vorhandenes Arbeitsblatt umzubenennen, zeigt Ihnen VBA eine Fehlermeldung wie unten an.
Die Lösung für dieses Problem ist der folgende Code, der FOR EACH verwendet und alle Arbeitsblätter durchlaufen kann, um das von Ihnen definierte Blatt zu finden und dieses Blatt dann umzubenennen.
Sub check_sheet_rename() Dim ws As Worksheet Dim mySheet As String Dim SheetName As String mySheet = InputBox("enter the name of the sheet that you want to rename.") SheetName = InputBox("Enter new name for the sheet.") For Each ws In ThisWorkbook.Worksheets If mySheet = ws.Name Then ws.Name = SheetName End If Next ws End Sub
Benennen Sie ein Blatt um, indem Sie den Wert einer Zelle oder eines Bereichs verwenden
Sie können ein Blatt auch umbenennen, indem Sie den Wert einer Zelle übernehmen. Nehmen wir an, der Wert befindet sich in Zelle A1.
Sheets("Sheet1").name = Range("A1").Value
Nehmen wir jedoch an, Sie möchten mehrere Blätter basierend auf den Werten in einem Zellbereich benennen. In diesem Fall sollten Sie Code wie diesen haben.
Sub vba_sheet_rename_multiple() Dim wsCount As Long Dim rCount As Long Dim ws As Worksheet Dim name As Range Dim i As Long wsCount = ThisWorkbook.Worksheets.Count rCount = Range("A1:A10").Rows.Count 'Checks if the count of the names provided is less _ or more than the sheets in the workbook If wsCount <> rCount Then MsgBox "There's some problem with the names provided." Exit Sub Else 'Check if any of the cells in the name range is empty. For Each name In Range("A1:A10") If IsEmpty(name) = True Then i = i + 1 End If Next name If i > 0 Then MsgBox "There's is a blank cell in the names range." Exit Sub End If End If 'rename each sheet using the value from the range cell by cell. i = 1 For Each ws In ThisWorkbook.Worksheets ws.name = Range("A1:A10").Cells(i, 1).Value i = 1 + i Next ws End Sub
Wenn Sie diesen VBA-Code ausführen, prüft er zunächst, ob die Zellen im Bereich der Anzahl der Blätter in der Arbeitsmappe entsprechen. Anschließend wird geprüft, ob alle Zellen in dem von Ihnen angegebenen Bereich Werte haben oder nicht. Und am Ende benennen Sie alle Blätter mit diesen Namen um.
Es prüft zwei Bedingungen mit IF THEN ELSE und benennt dann alle Blätter um.