Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
384to388
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
384to388
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spalten mit VBA löschen gemäss Kriterien

Spalten mit VBA löschen gemäss Kriterien
20.02.2004 10:08:38
Sabine
llo zusammen :-)
ich habe eine Excel-Tabelle in der in den Zeilen gewisse Kunden stehen und in den Spalten habe ich meine Kenzahlen (Budget ect.).
Nun habe ich folgendes Problem:
DIe Tabelle wird automatisch generiert und überall wo die automatische Generierung nicht läuft erscheinen Zeichenketten in den "Spaltenköpfen" wie z.b. &ZBWHZT_XX&! XX steht für eine laufende Nummer.
Das sieht dann z.B so aus:
&ZBWHZT_11& &ZBWHZT_12&
Die Tabelle ist umfangreich und hat so ca. 240 Spalten. Ich benötige nun eine Möglichkeit per VBA, dass genau diese Spalten, die in der Überschrift mit "&ZBWHZT_" beginnen "komplett" gelöscht werden.
Weiss jemand Rat?:-(
Grüsse
Sabine

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

Betreff
Datum
Anwender
Anzeige
AW: Spalten mit VBA löschen gemäss Kriterien
20.02.2004 10:25:04
Nayus
Hi,
folgendes Makro löscht alle Spalten mit angegebenem Kritrium in der 1. Zeile des aktuellen Blattes:

Sub delInvalidCols()
For i = 1 To 255
If Mid(Cells(1, i), 1, 8) = "&ZBWHZT_" Then
Columns(i).Delete Shift:=xlToLeft
End If
Next i
End Sub

Gruß,
Nayus
AW: Spalten mit VBA löschen gemäss Kriterien
20.02.2004 10:36:47
Sabine
Hallo Nayus,
ein RIESENDANKESCHÖN mein Lieber.
Super. Das habe ich gesucht.
Ach bin ich Froh :-)
Grüßchen
Sabine
Funktioniert leider nicht immer
20.02.2004 10:37:00
Alex K.
Hallo Nayus,
dein Code funktioniert leider nicht immer. Wenn zwei Spalten, die nebeneinander liegen, gelöscht werden sollen, wird die zweite Spalte nicht gelöscht.
Beispiel:
Du willst die Spalten 2 und 3 löschen. Zuerst wird die Spalte 2 gelöscht und i auf den Wert 3 erhöht. Nun ist aber durch die Löschung der Spalte 2 die Spalte 3 die neue Spalte 2. Somit kann die neue Spalte 2 nicht mehr getestet werden, da i ja schon 3 ist.
Bei Schleifen mit Löschen von Zeile oder Spalten immer von der letzten Spalte / Zeile beginnen:
for i = 255 to 1 step -1
dann klappt das auch :-)
Anzeige
AW: Spalten mit VBA löschen gemäss Kriterien
20.02.2004 10:31:19
Alex K.
HAllo Sabine,
hier ein Makro zum Löschen. Aber vorher die Sicherungskopie nicht vergessen :-)

Public Sub SpalteFindenLoeschen()
Dim saveAddress     As String
Dim rng             As Range
With ActiveSheet
Set rng = .UsedRange.Find("&ZBWHZT_", LookIn:=xlValues, lookat:=xlPart)
If rng Is Nothing Then
MsgBox "Keine Spalten zum Löschen gefunden"
Exit Sub
End If
saveAddress = rng.Address
Do
rng.EntireColumn.Delete
Set rng = .UsedRange.FindNext
Loop While Not (rng Is Nothing)
End With
End Sub

AW: Spalten mit VBA löschen gemäss Kriterien
20.02.2004 10:39:05
Sabine
Dankeschön auch Dir Alex :-)
Riesendankeschön.
Es klappt. Yiepiee
Anzeige
Soviel Begeisterung wegen ein bisschen Excel :-)oT
20.02.2004 10:42:42
Alex K.

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige