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

Fehler im VBA Text

Fehler im VBA Text
06.12.2004 11:09:34
Josef
Hallo!
Ich bekam im Forum folgende Lösung:

Sub Lösch_Spalte_D_14()
Dim i As Long, laR As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 4).End(xlUp).Row
For i = laR To 1 Step -1
If Mid(Cells(i, 4).Text, 1, 2) = "14" Then
Cells(i, 4).Delete
End If
Next i
Application.ScreenUpdating = True
End Sub

Mit diesem Makro sollen in SpalteD alle Zellen ,wo die ersten 2 Zeichen mit 14 beginnen gelöscht werden.
Der Aufbau in meinen Datensatz ist folgender:
Spalte D
Eine Menge Datensätze beginnend mit 34............,
danach 14..............,
anschließend wieder 34............
Wenn das Makro abläuft, so werden nicht nur die Zellen mit 14... sondern auch alle darunterliegenden Zellen mit 34.... gelöscht.
Wie könnte man bitte dieses Makro korrigieren, dass nur die Zellen mit 14.....
gelöscht werden, und die mit 34...... darunter bestehen bleiben?
Danke
Josef

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler im VBA Text
Jan
Hi Josef,
Nimm mal diesen Code und teste ihn aus.

Sub Lösch_Spalte_D_14()
Dim i As Long, laR As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 4).End(xlUp).Row
For i = 1 To laR
If Mid(Cells(i, 4).Text, 1, 2) = "14" Then
Cells(i, 4).Delete
laR = Cells(Rows.Count, 4).End(xlUp).Row
End If
Next i
Application.ScreenUpdating = True
End Sub

Jan
AW: Fehler im VBA Text
06.12.2004 11:48:20
Josef
Hallo Jan!
Danke für Deine Antwort.
Habe getestet.
Leider nur mit einem Teilerfolg.
Am Schluß werden noch immer die Zellen mit Beginn 34.......gelöscht und dazwischen bleiben jetzt immer welche mit 14...... über.
Wenn man das Makro öfters startet, so werden zwar die Zellen mit 14..... gelöscht daür aber auch welche mit 34......
Josef
Anzeige
AW: Fehler im VBA Text
Jan
Hi Josef,
Bei meinen Test hat es geklappt, wie es soll. Zellen mit Beginn 34 wurden nicht gelöscht.
Vielleicht liegt es an den Datentypen. Stell mal ein Beispiel Deiner Daten ins Forum.
Jan
AW: Fehler im VBA Text
06.12.2004 12:50:43
Josef
Hallo Jan!
Vielleicht gibt es mittels VBA noch eine andere Lösung.
Man nehme in SpalteD alle Zellen, wo die ersten zwei Zeichen mit 14...... beginnen und verschiebe sie daneben in SpalteE. Danach lösche Spalte E.Wäre das vielleicht eine bessere Lösung?
Wie würde denn hier der VBA Text aussehen, wenn es möglich wäre?
Josef
Anzeige
AW: Fehler im VBA Text
yps
hi Josef,
wenn ich das richtig verstanden habe willst du die zelle nicht löschen sondern nur den inhalt wegschmeissen

Sub Lösch_Spalte_D_14()
Dim i As Long, laR As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 4).End(xlUp).Row
For i = laR To 1 Step -1
If Mid(Cells(i, 4).Text, 1, 2) = "14" Then Cells(i, 4).ClearContents
Next i
Application.ScreenUpdating = True
End Sub

cu Micha
AW: Fehler im VBA Text
06.12.2004 13:02:02
Josef
Hallo Micha!
Das war die Lösung. Besten Dank für Deine Hilfe.
Josef
@Jan
y
hi Jan,
das was du mit löschen vorhattest hätte natürlich auch funktioniert, wäre aber umständlicher gewesen und du weisst nie ob der fragesteller noch rechts von den zu löschenden zellen inhalte hat die er erhalten möchte ;-)
...und sorry, dass ich dir "reingefunkt" habe

Sub Lösch_Spalte_D_14()
Dim i As Long, laR As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 4).End(xlUp).Row
For i = laR To 1 Step -1
If Mid(Cells(i, 4).Text, 1, 2) = "14" Then Cells(i, 4).Delete Shift:=xlToLeft
Next i
Application.ScreenUpdating = True
End Sub

cu Micha
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige