Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
376to380
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
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Weiterrutschen beim Löschen von Spalten verhindern

Weiterrutschen beim Löschen von Spalten verhindern
04.02.2004 09:57:18
Michi
Hi miteinander,
ich habe folgendes Problem: ich exportiere Daten in eine Excel-Tabelle und lösche dann alle Spalten, bei denen in der ersten Zeile nichts bzw. nicht benötigte Daten stehen. Das geht folgendermaßen:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set spalten = Range("A1:AN1")
loeschung = False
For Each zelle In spalten
Spaltenwiederholung:
loeschung = False
If Not (zelle = "Attributes" Or zelle = "Qty") Then
' ... Variable "loeschspalte" im Format "A:A" erstellen ...
Columns(loeschspalte).Select
Selection.Delete Shift:=xlToLeft
loeschung = True
End If
If loeschung = True Then
' ??????
GoTo Spaltenwiederholung
End If
Next
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Das Problem ist, dass die Schleife ja jedes Mal eine Spalte weiterrutscht, also von A zu B zu..., aber dabei nicht erkennt, dass wenn z.B. Spalte B:B gelöscht wurde, die restlichen Spalten nach links rutschen und B:B nochmal geprüft werden muss. Mit der Bool-Variable "loeschung" und dem "GoTo"-Befehl will ich nun genau dieses Weiterrutschen verhindern, aber eine Lösung hab ich noch nicht.
Hat jemand von Euch eine Idee?
Vielen Dank für jede Hilfe!!!
Michi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Weiterrutschen beim Löschen von Spalten verhindern
04.02.2004 10:04:20
Galenzo
Hallo,
eine Lösung ist, eine Schleife rückwärts zu zählen:
Machst du mal so:


Private Sub SpaltenWeg()
    Dim i%
    For i = 10 To Step -1
        If Cells(1, i) = "" Then Columns(i).Delete
    Next
End Sub

Viel Erfolg!
Anzeige
AW: Weiterrutschen beim Löschen von Spalten verhindern
04.02.2004 10:12:35
Alex K.
Hallo Michi,
kannst du verhindern, indem du mit der letzten Spalte anfängst.
Probiere es mal damit:

Public Sub Loeschen()
Dim rng     As Range
Dim i       As Long
Set rng = ActiveSheet.Range("A:AN")
For i = rng.Columns.Count To 1 Step -1
If rng(1, i).Value <> "Attributes" And rng(i).Value <> "Qty" Then
rng.Columns(i).Delete xlShiftToLeft
End If
Next i
End Sub

AW: Weiterrutschen beim Löschen von Spalten verhindern
04.02.2004 10:40:25
Michi
Ouh mann, klar! Von hinten anfangen, die einfachste und logischste Lösung!
Vielen Dank!!
AW: Weiterrutschen beim Löschen von Spalten verhindern
04.02.2004 10:12:46
Roland Hochhäuser
Hallo Michi,
so ganz schlau werde ich aus deiner Beschreibung nicht:
. . .ich exportiere Daten in eine Excel-Tabelle und lösche dann alle Spalten, bei denen in der ersten Zeile nichts bzw. nicht benötigte Daten stehen. . .
Du meinst doch sicher Zeilen? Wenn du nämlich so wie beschrieben vorgehst, werden auch die anderen Datensätze gelöscht.
. . .dabei nicht erkennt, dass wenn z.B. Spalte B:B gelöscht wurde, die restlichen Spalten nach links rutschen und B:B nochmal geprüft werden muss. . .
Genau deshalb hat sich bei Löschaktionen bewährt, von hinten nach vorne vorzugehen.
Bitte präzisiere die Aufgabenstellung, dann gibts auch eine Lösung.
Gruß
Roland
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige