Makro läuft und läuft ...

02/12/2010 - 01:41 von Peter Schuerer | Report spam
Hallo Zusammen,

XL2002.
Zu meiner Sicherheit auch in diesem Forum ;-)

Ich habe eine Tabelle mit 54 Spalten. In Zeile 1 stehen die
Überschriften, insgesamt 54.
Davon sind 14 Zellen in Zeile 1 mit Hintergrundfarbe "Gelb" formatiert,
die anderen sind ohne Farbe.
Ich möchte jetzt alle Spalten löschen die keine Farbe als Füllung in
Zeile 1 haben. Das wollte ich mit diesem Makro machen:

Sub SpaltenLoeschen()
Dim i
Range("A1").Activate
For i = 1 To 60
If ActiveCell.Interior.ColorIndex <> 6 Then
Columns(i).Delete
i = i - 1
Else
ActiveCell.Offset(0, 1).Select
End If
Next i
End Sub

Das Makro làuft ohne Ende und wenn ich es abbreche sind von den 14
gelben Spalten nur noch 7 übrig.
Ich weiß das es an der Zeile i=i-1 liegt, aber ich weiß leider nicht wie
ich das lösen soll.
Am besten wàre ein Makro das alle Spalten, die in Zeile 1 keine Füllung
haben, löscht.

Danke und Gruß
Peter
 

Lesen sie die antworten

#1 Carlos Naplos
02/12/2010 - 16:16 | Warnen spam
Hallo

Lasse Dein Makro in Einzelschritten (F8-Taste) laufen!

Dann siehst Du: Wenn die aktive Zelle an den gelben Zellen vorbei ist,
wird immer wieder die Spalte 15 gelöscht und am Ende des Arbeitsblattes
eine neue Spalte erzeugt. (Weil die Anzahl der Spalten eines
Arbeitsblattes gleich bleibt.)

Lösche von hinten nach vorne!

for iT to 1 step -1

Dann kannst Du Dir auch das i=i-1 sparen.

Gruß
cn

schrieb Peter Schuerer am 02.12.2010 01:41:
Hallo Zusammen,

XL2002.
Zu meiner Sicherheit auch in diesem Forum ;-)

Ich habe eine Tabelle mit 54 Spalten. In Zeile 1 stehen die
Überschriften, insgesamt 54.
Davon sind 14 Zellen in Zeile 1 mit Hintergrundfarbe "Gelb" formatiert,
die anderen sind ohne Farbe.
Ich möchte jetzt alle Spalten löschen die keine Farbe als Füllung in
Zeile 1 haben. Das wollte ich mit diesem Makro machen:

Sub SpaltenLoeschen()
Dim i
Range("A1").Activate
For i = 1 To 60
If ActiveCell.Interior.ColorIndex <> 6 Then
Columns(i).Delete
i = i - 1
Else
ActiveCell.Offset(0, 1).Select
End If
Next i
End Sub

Das Makro làuft ohne Ende und wenn ich es abbreche sind von den 14
gelben Spalten nur noch 7 übrig.
Ich weiß das es an der Zeile i=i-1 liegt, aber ich weiß leider nicht wie
ich das lösen soll.
Am besten wàre ein Makro das alle Spalten, die in Zeile 1 keine Füllung
haben, löscht.

Danke und Gruß
Peter

Ähnliche fragen