www.mikrocontroller.net

Forum: PC-Programmierung Schleife in Excel Makro


Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Tany (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ändere aus Rows("i:i+8").Select --> Rows(i).Select

Gruss

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Holger S. (strabe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
guckst Du Range()

Autor: Tany (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
For i = 5 To 6600
Range(Rows(i + 1), Rows(i + 7)).Select
Selection.Delete
Next

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ä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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.