Excel-Makro-Problem

LocDoc

Mitglied
Hi ihr lieben,

ich habe folgendes Problem:

Ich will mit Excel eine Textdatei einlesen, die Daten aus den verschiedenen Spalten werden danach getrimmt und ausgewertet. Soweit mein Plan.

Da die Textdateien aber viele Zeilen haben können habe ich die Funktionen (vor allem die zum Trimmen) bis Zeile 10000 nach unten ausgefüllt. Dadurch wird aber meine Exceldatei sehr groß (zwischen 5 und 12 MB) und das ist nicht so toll.

Also habe ich versucht ein Makro zu schreiben, das mir die überflüssigen Formeln wieder rauslöscht. Allerdings habe ich keine Ahnung wie ich den Parameter "wie viele Zeilen gefüllt sind" an das Makro übergeben kann :confused:

Die tolle Excel Hilfe hat mir dabei nicht wirklich geholfen. Eine Suche in dem Forum hier war leider auch erfolglos. Ich hoffe es kann mir jemand weiterhelfen.

thx in advance
LocDoc
 
Könntest du das noch ein bisschen ausführlicher beschreiben?
Ich hab leider keine fundierten Makro-programmierkenntnisse :(

Aber danke schonmal für die schnelle Antwort.

Gruß LocDoc
 
Da müsstest du das "Trimmen" etc. schon etwas näher beschreiben.
Die o.g. For-Schleife führt sooft Aktionen (die "...") aus wie Zeilen in Spalte A belegt sind.
 
Das Trimmen bezieht sich meist auf die Eingangsdaten die in der Form 'text' reinkommen und bei denen ich die Hochkommas abschneide und Teile des Textes rausziehe. Oder es steht 'zahl' und ich schneide die Hochkommas ab und wandle in eine richtige Zahl um. Gleichzeitig habe ich immer eine Abfrage mit dabei, dass er 'null' auf 0 setzt.

Gibt es auch einen Befehl, der deinen obigen ergänzt.Sprich ein Befehl, der ab da wirkt wo die Zeile in Spalte A nicht mehr belegt ist? Dann würde ich einfach die Zeilen ab da bis unten löschen.
Oder eben einen Befehl, der aus einer Zelle den Wert ausliest und in einer Variablen speichert. Dann könnte ich mit Anzahl() die Zeilen ermitteln und an das Makro übergeben.
 
Verstehe ich nicht ganz. Was willst du denn dann noch löschen? Die Schleife arbeitet bis zur letzten belegten Reihe. Weiter unten gibt es keine Reihen zum löschen mehr.
Werte aus Zellen kannst du einfach in Variablen speichern mit: 'x=range("A1").value' (alternativ, vor allem in Schleifen zu bevorzugen: 'x=cells(1,1).value' )
 
Okay, sorry mein Fehler.
Da habe ich vor lauter Wald keine Bäume mehr gesehen. Ich wollte so sehr die unnötigen Zeilen, die ich zu viel erzeugte löschen und habe nicht bemerkt, dass ich mit deinem Vorschlag gar nichts unnötiges erzeuge :eek:

Es klappt jetzt auf jeden Fall und das mit dem Wert aus einer Zeile auslesen, habe ich auch gleich mit eingebaut :)

Merci nochmal.

bye LocDoc
 

Neue Beiträge

Zurück