Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Warum wird dieser Makro nicht in allen Sheets ausg

Forumthread: Warum wird dieser Makro nicht in allen Sheets ausg

Warum wird dieser Makro nicht in allen Sheets ausg
01.08.2006 14:19:05
Peter
Hallo
Kann mir jemand sagen, weshalb dieser Makro nur im aktiven Worksheet, nicht aber in allen übrigen Worksheets der aktiven Datei ausgeführt wird?
Danke, Peter
Option Explicit

Sub versteckte_loeschen()
'versteckte Spalten und Zeilen löschen
'in Workbook löschen
Dim x As Integer
Dim r As Range
For x = 1 To Sheets.Count
For Each r In Rows(1).Cells
If r.Width < 1 Then r.EntireColumn.Delete
Next
For Each r In Columns(1).Cells
If r.Height < 1 Then r.EntireRow.Delete
Next
Next x
End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Warum wird dieser Makro nicht in allen Sheets ausg
01.08.2006 14:28:20
Bertram
Hallo Peter,
du sprichst deine Worksheets auch gar nicht an.
Es sollte wohl lauten
For Each r In Sheets(x).Rows(1).Cells
...
und entsprechendes bei Columns.
Gruß
Bertram
AW: Warum wird dieser Makro nicht in allen Sheets ausg
01.08.2006 14:28:54
Heiko
Hallo Peter,
weil du die Sheets ja garnicht ansprichst, verusch mal dies (ungetestet) .

Sub versteckte_loeschen()
'versteckte Spalten und Zeilen löschen
'in Workbook löschen
Dim x As Integer
Dim r As Range
For x = 1 To Sheets.Count
For Each r In Sheets(x).Rows(1).Cells
If r.Width < 1 Then r.EntireColumn.Delete
Next
For Each r In Sheets(x).Columns(1).Cells
If r.Height < 1 Then r.EntireRow.Delete
Next
Next x
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Warum wird dieser Makro nicht in allen Sheets ausg
01.08.2006 14:50:26
Luschi
Hallo Heiko,
mit Sheets(x) kann man schnell Schiffbruch erleiden, da dieser Container eine Zusammenfassung aller Blatt-Sorten einer Arbeitsmappe ist. Dazu gehören:
- Tabellenblatt (Worksheet)
- Diagramm
- MS-Excel 4.0-Makrovorlagen
- internationale Makrovorlagen
- MS Excel 5.0-Dialog
Aber ist sogar in der Excel-Hilfe falsch beschrieben:
"Die Sheets-Auflistung kann Chart-oder Worksheet-Objekte enthalten."
Deshalb sollte man die Worksheets-Auflistung benutzen, wenn es um Range & Cells geht.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Warum wird dieser Makro nicht in allen Sheets ausg
01.08.2006 14:32:18
Galenzo
ja. ich.
Ist ja schön, daß du alle Sheets durchzählst.
Dann solltest du das jeweilige Sheet auch ansprechen.
Rows(1).Cells betrifft das aktive Sheet!
/Galenzo
AW: Warum wird dieser Makro nicht in allen Sheets ausg
01.08.2006 14:34:10
Luschi
Hallo Peter,
bei Range und Cells sollte man immer mit Adresse und Hausnummer arbeiten; soll heißen, den gemeinten Tabellennamen mit angeben. So sollte es funktionieren:
Sub versteckte_loeschen_1()
'versteckte Spalten und Zeilen löschen
'in Workbook löschen
Dim x As Integer, r As Range
For x = 1 To ThisWorkbook.Worksheets.Count
For Each r In ThisWorkbook.Worksheets(x).Rows(1).Cells
If r.Width < 1 Then r.EntireColumn.Delete
Next r
For Each r In ThisWorkbook.Worksheets(x).Columns(1).Cells
If r.Height < 1 Then r.EntireRow.Delete
Next r
Next x
End Sub
o d e r  so:
Sub versteckte_loeschen_2()
'versteckte Spalten und Zeilen löschen
'in Workbook löschen
Dim r As Range, ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
For Each r In ws.Rows(1).Cells
If r.Width < 1 Then r.EntireColumn.Delete
Next r
For Each r In ws.Columns(1).Cells
If r.Height < 1 Then r.EntireRow.Delete
Next
Next ws
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Warum wird dieser Makro nicht in allen Sheets ausg
01.08.2006 21:07:29
Peter
Hallo Luschi
Herzlichen Dank für deine Hilfe.
Was mir noch nicht klar ist:
Wenn ich die Zeilen 1:10, sowie die Spalten A:J ausblende und den Makro laufen lasse, ist dann F6 das erste sichtbare Feld, das heisst, dass A:E und 1:5 immer noch ausgeblendet sind. Nach dem nächsten Ablaufen sehe ich als erstes Feld C3 und dann B2. Erst nach dem 4 Ablaufen sehe ich die Zelle A1 wieder.
Als Veruch habe ich ein leeres Workbook mit verschiedenen Worksheets genommen.
Gruss, Peter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige