Spalten löschen

Bild

Betrifft: Spalten löschen von: Thorsten
Geschrieben am: 08.04.2005 15:16:53

Hi,

versuche mit untenstehender Prozedur in einem Sheet mit ca. 100 Spalten bestimmte Spalten zu löschen, und zwar diejenigen, bei denen in der ersten Zeile eines der Wörter steht, die in Spalte G im Sheet "Zeichen" aufgeführt sind. Hat bei kleineren Bsp auch funktioniert. Nun werden aber nur knapp die Hälfte der eigentlich zu löschenden Spalten entfernt. Erkennt jemand den Grund?

Sub Spalten_löschen()
    Dim Bereich As Range
    Set Bereich = Worksheets("Zeichen").Range("G1:G75")
    For i = 1 To Range("IV1").End(xlToLeft).Column
        If Bereich.Find(what:=Cells(1, i), lookat:=xlWhole) Is Nothing Then
        Else
        Columns(i).Delete
        End If
    Next i
    
End Sub


MfG, Thorsten
Bild


Betrifft: AW: Spalten löschen von: Thorsten
Geschrieben am: 08.04.2005 15:19:36

Bemerke gerade, dass nur jede zweite Spalte aus der Liste gelöscht wurde. Jetzt verstehe ich gar nix mehr...


Bild


Betrifft: AW: Spalten löschen von: Stephan
Geschrieben am: 08.04.2005 15:23:53

Hi Thorsten,

wenn du eine spalte löscht darfst du i nicht um eines weiterdrehen da die nächste spalte nach dem löschen dann in der spalte mit dem index i steht. du überspringst mit deinem code immer die nächste spalte wenn eine gelöscht wird. hoffe es hilft


Bild


Betrifft: AW: Spalten löschen von: ransi
Geschrieben am: 08.04.2005 15:29:11

hallo

versuchs mal so:
(Ungestetest)
Sub Spalten_löschen()
    Dim Bereich As Range
    Set Bereich = Worksheets("Zeichen").Range("G1:G75")
    For i = Range("IV1").End(xlToLeft).Column to 1 step-1
        If Bereich.Find(what:=Cells(1, i), lookat:=xlWhole) Is Nothing Then
        Else
        Columns(i).Delete
        End If
    Next i
    
End Sub


dann sollte dein i nicht meht ins straucheln kommen.
deleten mit zähler mache immer von oben nach unten.

ransi


Bild


Betrifft: AW: Spalten löschen von: ransi
Geschrieben am: 08.04.2005 15:29:22

hallo

versuchs mal so:
(Ungestetest)
Sub Spalten_löschen()
    Dim Bereich As Range
    Set Bereich = Worksheets("Zeichen").Range("G1:G75")
    For i = Range("IV1").End(xlToLeft).Column to 1 step-1
        If Bereich.Find(what:=Cells(1, i), lookat:=xlWhole) Is Nothing Then
        Else
        Columns(i).Delete
        End If
    Next i
    
End Sub


dann sollte dein i nicht meht ins straucheln kommen.
deleten mit zähler mache immer von oben nach unten.

ransi


Bild


Betrifft: AW: Spalten löschen von: Thorsten
Geschrieben am: 08.04.2005 15:44:00

Klappt, danke.


Bild


Betrifft: AW: Spalten löschen von: WernerB.
Geschrieben am: 08.04.2005 15:23:57

Hallo Thorsten,

klappt es so?
Sub Spalten_löschen()
Dim Bereich As Range
    Set Bereich = Worksheets("Zeichen").Range("G1:G75")
    For i = Range("IV1").End(xlToLeft).Column To 1 Step -1
      If Bereich.Find(what:=Cells(1, i), lookat:=xlWhole) Is Nothing Then
      Else
        Columns(i).Delete
      End If
    Next i
End Sub

Gruß
WernerB.


Bild


Betrifft: AW: Spalten löschen von: Thorsten
Geschrieben am: 08.04.2005 15:44:34

Klappt, danke.


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Spalten löschen"