Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1524to1528
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro auf gesamtes Arbeitsblatt anwenden

Makro auf gesamtes Arbeitsblatt anwenden
12.11.2016 16:36:57
Ibie
Hallo zusammen,
ich habe 5 Excel Tabellen mit jeweils 93 Registerblättern. In diesen Blättern sind die Überschriften und Formeln blattgeschützt, und die Eingabefelder haben keinen Schutz. Nun möchte ich in allen Blättern alle ungeschützten Inhalte löschen.
Da es eine Heidenarbeit wäre, dies in 93 Blättern * 5 Dateien manuell zu machen, habe ich nach einer Makro gesucht und bin eigentlich auch fündig geworden.
Problem ist nur, dass diese Makro nur auf ein ausgewähltes Blatt angewendet wird und nicht auf die gesamte Arbeitsmappe.
Sub wegmit()
Dim Bereich As Range
Dim Zelle As Range
Set Bereich = Sheets("Tabelle1").Range("A1:AA50")
For Each Zelle In Bereich
If Zelle.Locked = False Or Zelle.MergeArea.Locked = False Then Zelle.MergeArea.ClearContents
Next Zelle
End Sub
Bei "Set Bereich" solte also die gesamte Arbeitsmappe angegeben sein, nehme ich mal an. Wie mach ich das?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro auf gesamtes Arbeitsblatt anwenden
12.11.2016 16:40:39
Hajo_Zi

Option Explicit
Sub wegmit()
Dim Zelle As Range
Dim WsTabelle As Worksheet
For Each WsTabelle In Worksheets
For Each Zelle In WsTabelle.Range("A1:AA50")
If Zelle.Locked = False Or Zelle.MergeArea.Locked = False Then Zelle.MergeArea. _
ClearContents
Next Zelle
Next WsTabelle
End Sub

AW: Makro auf gesamtes Arbeitsblatt anwenden
12.11.2016 17:03:53
Ibie
Funktioniert super danke
AW: Makro auf gesamtes Arbeitsblatt anwenden
12.11.2016 16:50:18
Bastian
Oder So
Gruß Basti
Sub UseFileDialogOpen()
Dim Bereich As Range
Dim Zelle As Range
Dim lngCount As Long
Dim AWB As Workbook
Dim WS As Worksheet
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = True
.Show
For lngCount = 1 To .SelectedItems.Count
Workbooks.Open .SelectedItems(lngCount)
Set AWB = ActiveWorkbook
For Each WS In AWB.Worksheets
Set Bereich = WS.Range("A1:AA50")
For Each Zelle In Bereich
If Zelle.Locked = False Or Zelle.MergeArea.Locked = False Then Zelle.MergeArea. _
ClearContents
Next Zelle
Next
AWB.Close True
Next lngCount
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige