Sheets anhand Zellenliste erstellen

VBA und Makros
Codeschnipsel
Arbeitsblatt
Zellinhalte
Automatisierung
Erstellung
Excel

Ausgangslage - Was tut dieser Code-Schnipsel?

Erstellt neue Arbeitsblätter anhand einer Liste von Namen. Dabei wird je markierter Zelle ein Arbeitsblatt erstellt. Das Arbeitsblatt erhält den entsprechenden Zelleninhalt als Namen.

Der Quelltext

Option Explicit
Option Compare Text
' Original-Quelltext unter: https://www.online-vba.de/sheets-anhand-zellenliste-erstellen
' Express-Hilfe für VBA unter https://www.online-vba.de/vba-expresshilfe
' Es gelten die Nutzungsbedingungen von Online-VBA.de

' Verwendung: Markieren Sie einen Zellenbereich und starten Sie dieses Makro

Public Sub OVBAde_ArbeitsblaetterVonListeErstellen()
  Dim oZelle As Object
  Dim oNewSheet As Object
  Dim lSuccessCounter As Long
  Dim lErrCounter As Long
    
    If Workbooks.Count < 1 Then Exit Sub
    lErrCounter = 0
    lSuccessCounter = 0
    
    'Sicherheitsabfrage
    If MsgBox("Sind Sie sicher, dass Sie " & Selection.Cells.Count & _
               " neue und leere Arbeitsblätter erstellen wollen?", _
               vbExclamation + vbYesNo, "HINWEIS!") = vbYes Then
        
        On Error Resume Next
        For Each oZelle In Selection.Cells
            If Trim(CStr(oZelle.Value)) <> "" Then
                Set oNewSheet = ActiveWorkbook.Sheets.Add(after:=Sheets(Sheets.Count))
                oNewSheet.Name = Trim(CStr(oZelle.Value))
                If Err.Number <> 0 Then
                    Err.Number = 0
                    Err.Clear
                    Application.DisplayAlerts = False
                    oNewSheet.Delete
                    Application.DisplayAlerts = True
                    lErrCounter = lErrCounter + 1
                Else
                    lSuccessCounter = lSuccessCounter + 1
                End If
            End If
        Next oZelle
        On Error GoTo 0
        
        If lErrCounter <> 0 Then
            MsgBox lErrCounter & " Arbeitsblätter konnten nicht erstellt werden, " & _
            "da ihr Name entweder bereits vorhanden ist oder ungültige Zeichen enthält!" & _
            vbCrLf & "Es wurden " & lSuccessCounter & " Arbeitsblätter erstellt.", _
            vbInFormation + vbOKOnly, "WARNUNG!"
        Else
            MsgBox "Es wurden " & lSuccessCounter & " Arbeitsblätter erstellt.", _
            vbInFormation + vbOKOnly, "HINWEIS!"
        End If
    
    End If
End Sub

Anmerkungen und Hinweise

Dieser Codeschnipsel wurde geschrieben von Marc Wershoven im Jahr 2013.
Die Nutzung erfolgt auf eigene Gefahr. Bitte denken Sie immer zuerst an eine ausreichende Datensicherung. Wir können keinen kostenlosen Support anbieten. Es gelten unsere Nutzungs­bedingungen.


So einfach läuft unsere VBA-Expresshilfe ab

1
Senden Sie uns Ihre Office-Datei oder Ihren VBA-Code (gerne anonymisiert) mit einer kurzen Problembeschreibung oder Ihrem Erweiterungswunsch per E-Mail.
2
Wir analysieren Ihr Anliegen schnell und schicken Ihnen umgehend (tagsüber meist innerhalb von 1-2 Stunden) ein Festpreis-Angebot.
3
Nach Ihrer Zustimmung lösen wir Ihr Problem (meist noch am gleichen Tag) oder setzen Ihre Erweiterung zuverlässig um – inklusive verständlicher Dokumentation der durchgeführten Maßnahmen.

Bereit für den nächsten Schritt?!

Kontaktieren Sie uns!

Bereit, Zeit und Nerven zu sparen?
Lassen Sie uns gemeinsam herausfinden, wie Ihre Prozesse einfacher, digitaler und effizienter werden. In einem kostenlosen Beratungsgespräch zeigen wir Ihnen erste Ideen – ganz unverbindlich.







Mit einem * gekennzeichnete Eingabefelder sind Pflichtfelder.
Datenschutzhinweise zum Kontaktformular: Die von Ihnen im Kontaktformular bereitgestellten Daten werden ausschließlich zur Bearbeitung Ihrer Anfrage verwendet und nicht ohne Ihre Zustimmung an Dritte weitergegeben. Ihre Daten werden nur für den Zeitraum gespeichert, der zur Bearbeitung Ihrer Anfrage erforderlich ist. Weitere Hinweise zum Datenschutz finden Sie in unserer Datenschutzerklärung.
Hinweise zur Kontaktaufnahme: Tagsüber erhalten Sie per E-Mail meistens innerhalb von nur einer Stunde eine Antwort! Wir antworten auf E-Mails sehr oft auch außerhalb der üblichen Geschäftszeiten. Wir freuen uns auf Ihre Nachrichten! Wir führen viele Beratungsgespräche und nehmen an digitalen Kommunikationssitzungen teil, daher erreichen Sie uns ggf. nicht immer sofort per Telefon. Wir rufen selbstverständlich zurück! Bei der angegebenen Telefonnummer handelt es sich um eine deutsche Mobilfunkrufnummer.
Hinweise zu Dateianhängen: Wenn Sie uns Dokumente und Dateien zukommen lassen möchten, welche personenbezogene Daten enthalten, und wir diese Dateien einsehen, bearbeiten oder verarbeiten sollen, müssen Sie vorab einen Vertrag zur Auftragsverarbeitung (laut DSGVO) mit uns abschließen. Nehmen Sie dazu bitte Kontakt mit uns auf, wir stellen Ihnen gerne einen solchen Vertrag zur Verfügung. Alternativ können Sie alle personenbezogenen und sensiblen Daten vollständig anonymisieren, bevor Sie uns die Dateien zusenden. Enthalten Ihre Dateien keinerlei personenbezogene Daten, benötigen Sie auch keinen zusätzlichen Vertrag zur Auftragsverarbeitung mit uns. Denn zur Realisierung Ihrer Projekte und Auftragsprogrammierungen benötigen wir keine echten Personendaten. Bei der Übermittlung von Daten verwenden Sie bitte immer eine ausreichende Verschlüsselung.
Hinweis: Für die vollständige Funktion dieser Website ist JavaScript erforderlich.
Bitte aktivieren Sie JavaScript in Ihrem Browser, um alle Inhalte und interaktiven Funktionen nutzen zu können.