Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1624to1628
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
Inhaltsverzeichnis

Spalte löschen

Spalte löschen
01.06.2018 09:08:19
Goeschl
Hallo!
Ich habe folgenden Code um eine Spalte mit der Überschrift "Mitarbeiter" zu löschen!
Daneben steht eine Spalte mit der Überschrift "Mitarbeiter Bezeichnung"
die wird aber leider auch gelöscht, scheinbar weil ganz einfach der String Mitarbeiter drin vorkommt!
Was ist da falsch?
If Cells(1, s).Value = "Mitarbeiter" Then
Columns(s).Delete Shift:=xlToLeft

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte löschen
01.06.2018 09:18:33
Hajo_Zi
hast Du verbundene Zellen?
Die meisten bauen Deine Datei nicht nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Die meisten möchten es am Original testen um den gleichen Fehler zu erhalten.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
kann ich nicht bestätigen, läuft korrekt
01.06.2018 09:19:26
Matthias
Hallo
Die Spalte mit der Überschrift: "Mitarbeiter Bezeichnung" bleibt stehen.
Gruß Matthias
AW: Spalte löschen
01.06.2018 09:20:24
MCO
Moin!
Bei mir läuft das
Sub test()
For s = 5 To 1 Step -1
If Cells(1, s).Value = "Mitarbeiter" Then Columns(s).Delete
Next s
End Sub
Beachte bitte, dass du von rechts nach links arbeiten mußt, damit du nicht eine Spalte überspringst wenn du eine löschst. (z.b.wenn du 4 löschst, wird spalte 5 zu spalte 4, in der Schleife gehst du aber weiter zur 5)
xlshift:toleft ist unnötig bei kompletten spalten löschen
Gruß, MCO
AW: Spalte löschen
01.06.2018 10:59:40
Goeschl
Danke für die Antworten!
lg
Anzeige
AW: Spalte löschen
01.06.2018 11:02:34
Goeschl
Danke für die Antworten!
Ich stell mal den ganzen Code rein, wahrscheinlich hab ich da den vollen Blödsinn gemacht?
:
Sub Formatieren()
'------------------------------------------------------ Spalten löschen
'** Ermittlung der letzten Spalte in Zeile 1
ls = Cells(1, Columns.Count).End(xlToLeft).Columns.Column
'** Durchlauf aller Zeilen
For s = ls To 1 Step -1 'Zählung rückwärts bis Spalte 1
'** Abfragen, ob in der ersten Spalte die Ziffer 0 steht
If Cells(1, s).Value = "BDE-Nr" Then
Columns(s).Delete Shift:=xlToLeft
ElseIf Cells(1, s).Value = "BDE-Suchwort" Then
Columns(s).Delete Shift:=xlToLeft
ElseIf Cells(1, s).Value = "Arbeitsschein" Then
Columns(s).Delete Shift:=xlToLeft
ElseIf Cells(1, s).Value = "Buchung offen" Then
Columns(s).Delete Shift:=xlToLeft
Columns(s).Delete Shift:=xlToLeft
ElseIf Cells(1, s).Value = "Mitarbeiter" Then
Columns(s).Delete Shift:=xlToLeft
End If
Next s
End Sub

Anzeige
AW: Spalte löschen
01.06.2018 11:06:19
Goeschl
Habs schon gefunden!
Ein Columns(s).Delete Shift:=xlToLeft war zuviel! ;-)
Sorry!
AW: Spalte löschen
02.06.2018 10:59:16
Gerd
Moin
Sub Goeschl()
'------------------------------------------------------ Spalten löschen
Dim s As Long 'Variablentyp der Spaltenvariablen deklarieren
ls = Cells(1, Columns.Count).End(xlToLeft).Columns.Column
'** Durchlauf der Zeile 1
' ** Ermittlung der Spalte der letzen Zelle in Zeile 1 mit Wert
For s = Cells(1, Columns.Count).End(xlToLeft).Column To 1 Step -1 'Zählung rückwärts bis  _
Spalte 1
'** Abfragen, ob in den Zellen einer der Begriffe steht, dann Spalte löschen
Select Case Cells(1, s).Value
Case "BDE-Nr", "BDE-Suchwort", "Arbeitsschein", "Buchung offen", "Mitarbeiter"
Columns(s).Delete Shift:=xlToLeft
End Select
Next s
End Sub

Gruß Gerd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige