Supportnet / Forum / Tabellenkalkulation
Excel-Experten, Hilfeeeee !!!
Frage
Ich habe folgende Probleme:
1. Ich lese mit einem Excelmakro eine Datei aus. Das Ende der auszuwertenden Daten wird durch ein „END“ gekennzeichnet. Alles was danach in der Datei steht soll entfernt werden.
2. Zwischen den auszuwertenden Daten befinden sich Zeilen die, wenn sie in einer bestimmten Spalte eine „1“ hat und in anderen bestimmten Spalten eine „0“, gelöscht werden sollen. Klar das diese leeren Zeilen dann insgesamt verschwinden sollen.
Frage: Ich habe nur sehr wenig Ahnung von der Makroprogrammierung, wie kann ich nach das trotzdem realisieren ?
Antwort 1 von Butch
Hi,
habe schon lange nichts mehr in der Richtung gemacht, versuche dir abr trotzdem zu helfen. Aber eine dirket Lösung kann ich dir nicht anbieten. Nutze doch einfach den Makro Recorder von Excel, d.h. starte den Recorder und mache alle Vorgänge, die du vor hast, wie das löschen der restlichen Zeiten nach dem End, von 'Hand'. Dann wenn alle Schritte erledigt sind, schaust dir das aufgezeichnete Makro an und kopierst die Zeilen rein, die du brauchst ...
Viel Spaß beim ausprobieren
Butch
habe schon lange nichts mehr in der Richtung gemacht, versuche dir abr trotzdem zu helfen. Aber eine dirket Lösung kann ich dir nicht anbieten. Nutze doch einfach den Makro Recorder von Excel, d.h. starte den Recorder und mache alle Vorgänge, die du vor hast, wie das löschen der restlichen Zeiten nach dem End, von 'Hand'. Dann wenn alle Schritte erledigt sind, schaust dir das aufgezeichnete Makro an und kopierst die Zeilen rein, die du brauchst ...
Viel Spaß beim ausprobieren
Butch
Antwort 2 von dr.loki
das hatte ich schon versucht, aber der Makrorecorder zeichnet es nicht so auf wie ich es für die Problemlösung brauche. Das Problem ist wirklich das suchen von "END" und dann den REST (der sich je nach Datensatzanzahl verschiebt) löschen.
Trotzdem vielen Dank für den Hilfsversuch...
Trotzdem vielen Dank für den Hilfsversuch...
Antwort 3 von Guenter
Hi dr.loki,
zu 2.
hier ein Beispiel:
Sub Zeilen_loeschen()
' Anzahl der Zeilen
j = Cells(Rows.Count, 1).End(xlUp).Row
' Schleife zählt nach unten
For n = j - 1 To 2 Step -1
If Cells(n, 1).Value = 1 And Cells(n, 2).Value = 0 Then
Range(Cells(n, 1), Cells(n, 2)).Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
End If
Next
End Sub
Das Makro sollte noch auf Deine Verhältnisse angepasst werden, d.h. in welcher Spalte stehen die "1" oder "0",
welche Bedingung, und/oder,
wieviele Spalten in der Zeile sollen gelöscht werden.
zu 1.
Falls die Daten in einem Excel-Sheet stehen, dann am besten so vorgehen, wie Butch beschrieben hat (Makro aufzeichnen und ggf. anpassen).
Gruß
Günter
zu 2.
hier ein Beispiel:
Sub Zeilen_loeschen()
' Anzahl der Zeilen
j = Cells(Rows.Count, 1).End(xlUp).Row
' Schleife zählt nach unten
For n = j - 1 To 2 Step -1
If Cells(n, 1).Value = 1 And Cells(n, 2).Value = 0 Then
Range(Cells(n, 1), Cells(n, 2)).Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
End If
Next
End Sub
Das Makro sollte noch auf Deine Verhältnisse angepasst werden, d.h. in welcher Spalte stehen die "1" oder "0",
welche Bedingung, und/oder,
wieviele Spalten in der Zeile sollen gelöscht werden.
zu 1.
Falls die Daten in einem Excel-Sheet stehen, dann am besten so vorgehen, wie Butch beschrieben hat (Makro aufzeichnen und ggf. anpassen).
Gruß
Günter
Antwort 4 von dr.loki
@günther
supi !!! nach etwas anpassen hat das mein gesamtes problem (punkt1 und 2)zerschlagen!
ich bin echt froh.... ;-)
supi !!! nach etwas anpassen hat das mein gesamtes problem (punkt1 und 2)zerschlagen!
ich bin echt froh.... ;-)

