Die virtuelle VBA-Maschine (Visual Basic for Applications) ermöglicht es Benutzern, Aufgaben in Excel zu automatisieren, und es ist ein leistungsfähiges Tool, das die Arbeit mit Daten erheblich vereinfachen kann. Eine der häufigsten Vorgänge, die Sie beim Arbeiten mit Arbeitsblättern in Excel ausführen müssen, ist das Einfügen eines neuen Arbeitsblatts nach einem vorhandenen Arbeitsblatt.
Es gibt mehrere Möglichkeiten, ein neues Arbeitsblatt mithilfe von VBA in eine Excel-Arbeitsmappe einzufügen. Eine davon ist die Verwendung der Methode Add Objekts Worksheets. Mit dieser Methode können Sie ein neues Blatt nach dem letzten Blatt in der Arbeitsmappe einfügen.
Unter Einfügenliste
Sheets.Add After:=Sheets(Sheets.Count)
End Sub
In diesem Beispiel ist die Methode Add wird verwendet, um nach dem letzten Blatt in der Arbeitsmappe ein neues Blatt hinzuzufügen. Operator After:=Sheets(Sheets.Count) legt fest, wo das neue Blatt nach dem letzten Blatt eingefügt werden soll. Sie können diesen Wert ändern, um ein neues Blatt nach einem anderen Blatt nach seinem Index oder benannten Bereich einzufügen.
Wenn Sie dieses Makro ausführen, wird das neue Arbeitsblatt nach dem letzten Arbeitsblatt in der Excel-Arbeitsmappe eingefügt.
Excel VBA: Einfügen eines Arbeitsblatts nach einem vorhandenen
In der Programmiersprache VBA (Visual Basic for Applications) für Excel können Sie die Sheets-Methode verwenden.Add(), um ein neues Blatt nach dem vorhandenen einzufügen.
Hier ist ein Codebeispiel, das veranschaulicht, wie ein neues Arbeitsblatt nach einem vorhandenen eingefügt wird:
Sub InsertSheetAfter()Dim newSheet As WorksheetDim existingSheet As Worksheet' Выберите лист, после которого нужно вставить новый листSet existingSheet = ThisWorkbook.Sheets("Лист1")' Вставить новый лист после существующегоSet newSheet = ThisWorkbook.Sheets.Add(After:=existingSheet)' Установить имя нового листаnewSheet.Name = "Новый лист"' Добавьте код для настройки нового листа, если необходимоEnd Sub
In diesem Beispiel definieren wir zuerst die Variablen newSheet und existingSheet für die neuen bzw. vorhandenen Arbeitsblätter. Dann verwenden wir die Set-Methode, um ein vorhandenes Blatt auszuwählen, nach dem ein neues Blatt eingefügt werden soll.
Wir verwenden dann die Add() -Methode, um nach dem vorhandenen ein neues Blatt hinzuzufügen, indem wir das Argument After:=existingSheet verwenden. Auf diese Weise wird das neue Blatt nach dem angegebenen vorhandenen Blatt eingefügt.
Dann verwenden wir die Name -Eigenschaft, um den Namen des neuen Blatts festzulegen. Im Beispiel haben wir den Namen "Neues Blatt" angegeben, aber Sie können einen beliebigen Namen angeben, den Sie benötigen.
Schließlich können Sie bei Bedarf zusätzlichen Code hinzufügen, um das neue Arbeitsblatt anzupassen.
Mit diesem Code können Sie ein neues Arbeitsblatt dynamisch nach einem vorhandenen Arbeitsblatt in Ihrer Excel-Arbeitsmappe einfügen, was für die Automatisierung von Aufgaben wie das Hinzufügen von Berichten oder Datenblättern nützlich sein kann.
Vorbereiten des Einfügens eines neuen Blatts
Wenn Sie mit VBA ein neues Arbeitsblatt in eine Excel-Arbeitsmappe einfügen möchten, müssen Sie zuerst vorbereitet werden. Hier sind einige wichtige Schritte, die Ihnen helfen, diese Aktion erfolgreich durchzuführen:
1. Öffnen einer Excel-Arbeitsmappe: Sie müssen die Excel-Arbeitsmappe öffnen, in die Sie das neue Arbeitsblatt einfügen möchten. Dies kann mit dem folgenden VBA-Code erfolgen:
Workbooks.Open "С:\Путь_к_файлу\Книга .xlsx"
2. Festlegen der Einfügeposition: Entscheiden Sie genau, wo Sie ein neues Blatt in Ihre Arbeitsmappe einfügen möchten. Sie können beispielsweise beschließen, ein Blatt nach einem bestimmten Blatt oder am Ende einer Liste vorhandener Blätter einzufügen.
3. Abrufen eines Buchobjekts: Der nächste Schritt besteht darin, das Excel-Arbeitsmappenobjekt zu erhalten, mit dem Sie arbeiten möchten. Dies kann mit dem folgenden VBA-Code erfolgen:
Dim wb As Workbook
Set wb = ActiveWorkbook
4. Zugreifen auf ein Dokumentenmappenobjekt: Jetzt, da Sie ein Buchobjekt haben, können Sie es verwenden, um verschiedene Aktionen auszuführen. Sie können beispielsweise auf die Eigenschaft "Worksheets" zugreifen, um auf Arbeitsblätter in einer Arbeitsmappe zuzugreifen:
Dim ws As Worksheet
Set ws = wb.Worksheets("Tabelle1")
5. Einfügen eines neuen Blatts: Schließlich können Sie mit der Methode "Add" des Dokumentenmappenobjekts ein neues Arbeitsblatt in die Arbeitsmappe einfügen:
Dim newSheet As Worksheet
Set newSheet = wb.Worksheets.Add(After:=ws)
Nachdem Sie diese Schritte ausgeführt haben, können Sie mithilfe von VBA erfolgreich ein neues Arbeitsblatt nach dem vorhandenen Arbeitsblatt in der Excel-Arbeitsmappe einfügen.
Öffnen eines VBA-Skripts in Excel
Führen Sie die folgenden Schritte aus, um den VBA-Editor in Excel zu öffnen:
1. Öffnen Sie Excel und öffnen Sie die Arbeitsmappe, in der Sie den VBA-Code bearbeiten möchten.
2. Klicken Sie in der oberen Menüleiste auf die Registerkarte Entwickler. Wenn die Registerkarte "Entwickler" nicht vorhanden ist, fügen Sie sie wie folgt hinzu: Datei -> Optionen -> Excel-Optionen -> Menübandeinstellungen -> Registerkarte "Entwickler" anzeigen.
3. Klicken Sie auf der Registerkarte Entwickler auf die Schaltfläche VBA-Editor. Der VBA-Editor wird in einem neuen Fenster geöffnet.
Im VBA-Editor können Sie neue Module mit Code erstellen, Funktionen und Prozeduren hinzufügen und bereits vorhandenen Code bearbeiten. Mit dem VBA-Editor können Sie komplexe Vorgänge ausführen und Aufgaben automatisch ausführen, was die Arbeit mit Excel erheblich vereinfacht.
Durchforsten eines aktiven Excel-Dokuments
Hier ist ein Beispielcode, der veranschaulicht, wie ein aktives Excel-Dokument gecrawlt wird:
Sub Obhod_Active_Document()Dim wb As WorkbookDim ws As Worksheet' Получить активную книгуSet wb = ActiveWorkbook' Вывести название активной книгиMsgBox "Название активной книги: " & wb.Name' Получить активный листSet ws = ActiveSheet' Вывести название активного листаMsgBox "Название активного листа: " & ws.Name' Обратиться к ячейке активного листаMsgBox "Значение ячейки A1: " & ws.Range("A1").ValueEnd Sub
In diesem Code erstellen wir zuerst die Objektvariablen wb und ws vom Typ Workbook bzw. Worksheet. Dann verwenden wir die ActiveWorkbook-Methode, um die aktive Arbeitsmappe abzurufen und sie in der Variablen wb zu speichern. Ebenso verwenden wir die ActiveSheet-Methode, um das aktive Arbeitsblatt abzurufen und es in einer ws-Variablen zu speichern.
Dann geben wir den Namen der aktiven Arbeitsmappe und des aktiven Arbeitsblatts mit der MsgBox-Funktion aus. Um auf die Zelle des aktiven Arbeitsblatts zuzugreifen, verwenden wir die Range-Eigenschaft und geben die Adresse der Zelle in Anführungszeichen an.
Jetzt, da wir wissen, wie man ein aktives Excel-Dokument umgeht, können wir diesen Code verwenden, um verschiedene Aufgaben zu lösen: das Lesen und Schreiben von Zellenwerten, das Erstellen neuer Arbeitsblätter, das Ändern der Formatierung und vieles mehr.
Auswählen eines einzufügenden Blatts
Wenn Sie mit VBA in Excel arbeiten, können Sie ein Arbeitsblatt auswählen, nach dem Sie ein neues Arbeitsblatt einfügen möchten. Dazu wird die Eigenschaft verwendet After.
Das folgende Beispiel zeigt, wie ein neues Blatt nach einem bestimmten Blatt eingefügt wird:
Sub Вставить_лист()Dim Лист As WorksheetDim НовыйЛист As Worksheet' Задаем лист, после которого нужно вставить новый листSet Лист = ThisWorkbook.Sheets("Лист2")' Вставляем новый листSet НовыйЛист = ThisWorkbook.Sheets.Add(After:=Лист)НовыйЛист.Name = "Новый лист"End Sub
In diesem Beispiel legen wir zuerst eine Variable fest Blatt und wir weisen ihr den Wert eines bestimmten Blattes nach seinem Namen zu. Dann verwenden Sie die Methode Add und Eigenschaften After. wir fügen ein neues Blatt nach dem angegebenen Blatt ein. Schließlich verwenden wir die Eigenschaft Name, um dem neuen Arbeitsblatt einen Namen zu geben.
Auf diese Weise können Sie einfach das gewünschte Arbeitsblatt auswählen, um mit VBA ein neues Arbeitsblatt in Excel einzufügen.
Einfügen eines neuen Blatts nach einem vorhandenen Blatt
Hier ist ein Codebeispiel, mit dem Sie ein neues Arbeitsblatt nach einem vorhandenen einfügen können:
Sub InsertSheetAfter() Dim NewSheet As Worksheet Dim AfterSheet As Worksheet ' Geben Sie an, nach welchem Arbeitsblatt ein neues Arbeitsblatt eingefügt werden soll Set AfterSheet = ThisWorkbook.Sheets("Vorhandenes Blatt") ' Erstellen Sie ein neues Blatt Set NewSheet = ThisWorkbook.Sheets.Add(After:=AfterSheet) ' Geben Sie dem neuen Blatt einen Namen ein NewSheet.Name = "Neues Blatt" ' Legen Sie eine Sequenznummer für das neue Blatt NewSheet fest.Move After:=AfterSheet End Sub
In diesem Beispiel wird die NewSheet-Variable verwendet, die ein neues Arbeitsblatt darstellt, und die AfterSheet-Variable, die ein vorhandenes Arbeitsblatt darstellt, nach dem ein neues Arbeitsblatt eingefügt werden soll.
In der Zeile Set AfterSheet = ThisWorkbook.Sheets("Vorhandenes Blatt") wir geben den Namen des vorhandenen Blattes an. Hier können Sie "Vorhandenes Blatt" durch den Namen Ihres Blattes ersetzen.
In der Zeile Set NewSheet = ThisWorkbook.Sheets.Add(After:=AfterSheet) Wir erstellen ein neues Blatt und geben an, dass es nach dem vorhandenen Blatt hinzugefügt werden soll.
Pro Zeile NewSheet.Name = "Neues Blatt" wir geben dem neuen Blatt einen Namen. Hier können Sie das "Neue Arbeitsblatt" in den Namen ändern, den Sie verwenden möchten.
In der NewSheet-Zeile.Move After:=AfterSheet Wir legen die Sequenznummer des neuen Blattes fest. Hier können Sie bei Bedarf die Sequenznummer ändern.
Nachdem der Code ausgeführt wurde, wird das neue Arbeitsblatt nach dem vorhandenen Arbeitsblatt mit dem angegebenen Namen und der angegebenen Sequenznummer eingefügt.
Auf diese Weise können Sie diesen Code verwenden, um ein neues Arbeitsblatt nach dem in Excel vorhandenen VBA einzufügen.
Überprüfen des Einfügeergebnisses
Nachdem Sie das Verfahren zum Einfügen eines Arbeitsblatts in Excel VBA ausgeführt haben, ist es wichtig sicherzustellen, dass das Arbeitsblatt erfolgreich hinzugefügt wurde. Dazu können Sie die Methoden und Eigenschaften des Workbook-Objekts verwenden.
Eine Möglichkeit, festzustellen, ob ein Blatt erfolgreich hinzugefügt wurde, besteht darin, die Anzahl der Blätter in der Arbeitsmappe vor und nach dem Einfügen zu überprüfen. Dazu können Sie die Worksheets-Eigenschaft verwenden.Count, das die Anzahl der Arbeitsblätter in der Arbeitsmappe zurückgibt.
Im folgenden Codebeispiel wird veranschaulicht, wie das Ergebnis einer Arbeitsblatteinfügung überprüft wird:
Sub InsertWorksheetAfter()Dim wb As WorkbookDim ws As WorksheetSet wb = ThisWorkbook' Сохранить текущее количество листовDim previousCount As IntegerpreviousCount = wb.Worksheets.Count' Вставить новый лист после существующегоSet ws = wb.Worksheets.Add(After:=wb.Worksheets("Sheet1"))' Проверить, успешно ли был добавлен листIf wb.Worksheets.Count = previousCount + 1 ThenMsgBox "Лист успешно добавлен."ElseMsgBox "Ошибка при добавлении листа."End IfEnd Sub
In diesem Codebeispiel fügt InsertWorksheetAfter ein neues Arbeitsblatt nach dem vorhandenen hinzu. Die Variable previousCount speichert die aktuelle Anzahl von Arbeitsblättern in der Arbeitsmappe, bis ein neues Arbeitsblatt eingefügt wird. Anschließend wird überprüft, ob sich die Anzahl der Blätter nach dem Einfügen geändert hat, und eine entsprechende Meldung wird angezeigt.
Auf diese Weise können Sie durch Vergleichen der Anzahl der Blätter vor und nach dem Einfügen feststellen, ob das neue Blatt erfolgreich hinzugefügt wurde.