Hallo, ich würde gerne in einer Excel Tabelle Daten reduzieren indem ich einfach nur jede 10. Zeile übernehme und den Rest lösche. Dafür hab ich mich mit einem Makro versucht, habe aber bisher garnichts mit VB gemacht. Nachdem ich ein wenig mit dem Makrorecorder gespielt habe und nach der Syntax von Schleifen gesucht habe, habe ich mir folgendes überlegt: Sub test() For i = 5 To 6600 Rows("i:i+8").Select Selection.Delete Shift:=xlUp Next End Sub Beim Ausführen kommt aber dann dass die Typen unverträglich wären in der Rows(... Zeile. Was kann ich da tun? Muss man bei VB eigentlich keine Variablen deklarieren oder so? Gruß, Chris
Dank für die Antwort. Das Programm läuft dann zwar, aber es löscht nur jede zweite Zeile. Das i+8 sollte ja immer 9 Zeilen markieren damit diese dann auf einmal gelöscht werden.
For i = 5 To 6600 Range(Rows(i + 1), Rows(i + 7)).Select Selection.Delete Next
Vielen Dank für die Hinweise. Warum das mit dem was mir der Makrorecorder gezeigt hat nicht funktioniert hab ich zwar noch immer nicht durchschaut, aber mit Range().Select hats funktioniert. Ich musste nur noch das i+7 in i+9 abändern. Vielen Dank!
Ähm, wie soll "i:i+8" bitteschön funktionieren? Ist doch ein string, wie soll da i richtig ersetzt werden. Wenn dann müsste es wohl so aussehen: CStr(i)+":"+CStr(i+8) Gruß Tom
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.