Auf mehreren Worksheets Daten löschen

.. das wohl mächtigste Werkzeug in Bill Gates' Büro-Sippe. Ob reine Formeln, PowerQuery oder VBA. Hier bleiben kaum Wünsche unerfüllt.
Benutzeravatar
Wisi82
Beiträge: 79
Registriert: 14. Apr 2023, 14:22
Hat sich bedankt: 11 Mal
Danksagung erhalten: 25 Mal
Kontaktdaten:

Auf mehreren Worksheets Daten löschen

#1

Beitrag von Wisi82 »

Hallo zusammen

Ich habe letzte Woche noch einen Codeschnipsel gebastelt, mit welchem auf mehreren Datenblättern die gleichen Daten gelöscht werden können, Ich habe dies verwendet, um auf einer Mappe zur Zeiterfassung, welche pro Monat ein Datenblatt enthält, da jedes Datenblatt gleich aussieht, kann dies einfach mit einer Schleife gelöst werden. Den Code am besten ins allgemeine Modul legen, Aufruf dann wie gewünscht (Button, Tastenkombination, ...)

Code: Alles auswählen

Sub Daten_loeschen()
    Dim Ws As Worksheet
    
    Application.ScreenUpdating = False
    
    For Each Ws In Sheets(Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", _
                                "August", "September", "Oktober", "November", "Dezember"))
        With Ws
            .Activate
            .Range("D6:CU30").ClearContents
            .Range("D6").Select
        End With
    Next
    Set Ws = Sheets("Grunddaten")
    
    Application.ScreenUpdating = True
    
    With Ws
        .Activate
        .Range("C7").Select
    End With
End Sub
Vieleicht kann ja das sonst noch jemand gebrauchen.

Beste Grüsse Erwin
Folgende Benutzer bedankten sich beim Autor Wisi82 für den Beitrag:
d'r Bastler
Windows 10 Home, Office 2019 Professional, Aber meistens ist es der Kopf, welcher Verwirrung stiftet ;)
Benutzeravatar
d'r Bastler
Beiträge: 683
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 177 Mal
Danksagung erhalten: 91 Mal

Re: Auf mehreren Worksheets Daten löschen

#2

Beitrag von d'r Bastler »

Moin Erwin,
gutz noiz erst mal! Und ntaürlich Danke für das Snippet, das ich mal gleich um einen bequemen Aufruf mit F12 ergänze...

Code: Alles auswählen

Option Explicit
Private Sub Workbook_Open()
    Application.OnKey "{F12}", "Daten_loeschen"
End Sub
... und mit einer Frage: Es kommt natürlich auf die Benennungen Deiner Worksheets an, aber ich löse solche -ich nenne es mal- Fleißaufgaben für VBA gerne ohne dafür ein Array manuell zu füllen, in dem ich den Spieß umdrehe: Es werden die Daten in allen Sheets gelöscht, deren Namen nicht (oder gerade doch) z.B. mit einem Unterstrich beginnen: "_Arbeitszeiten_2023"

Diese Methode in Schleifen zu filtern verwende ich gerne um z.B. per VBA erstellte Userforms oder Module in Tests zu killen. Alles, was nicht ausdrücklich abweichend benannt ist, fliegt raus.

Code: Alles auswählen

Option Explicit

Sub DeleteValues()
Dim ws As Worksheet

For Each ws In ThisWorkbook.Sheets
    If Left(ws.Name, 1) = "_" Then
        MachDochWasDuWillst
    End If
Next ws
End Sub
Wär das auch was für Dich?

Grüße ins Gebirge :)
Folgende Benutzer bedankten sich beim Autor d'r Bastler für den Beitrag:
Wisi82
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
Benutzeravatar
Wisi82
Beiträge: 79
Registriert: 14. Apr 2023, 14:22
Hat sich bedankt: 11 Mal
Danksagung erhalten: 25 Mal
Kontaktdaten:

Re: Auf mehreren Worksheets Daten löschen

#3

Beitrag von Wisi82 »

Hallo Bastler

Dankeschön, auch dir ein gutes neues Jahr 2024, hoffe du bist gut gestartet.

Finde ich eine sehr gute Idee, die Unterteilung mit und ohne _ , mache ich vielleicht das nächste mal auch so, falls ich noch dran denke :)
Wäre also schon was für mich ..., aber die bestehende Datei werde ich jetzt so belassen, funktioniert ja schliesslich.
Aber trotzdem vielen Dank für die Anregung.

Beste Grüsse aus dem Schnee
Erwin

P.s. Nicht die ganze Schweiz besteht nur aus Gebirge, ich lebe bloss in den hügeligen Voralpen aber zum Gebirge ist's nicht mehr weit :D :D
Folgende Benutzer bedankten sich beim Autor Wisi82 für den Beitrag:
d'r Bastler
Windows 10 Home, Office 2019 Professional, Aber meistens ist es der Kopf, welcher Verwirrung stiftet ;)
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste