Ein freundliches Hallo an alle Online-Forumsmitglieder,
folgende Frage:
ich will verschiedene Textdateien mit unterschiedlicher Anzahl von Datensätzen, Daten (=Spalten) sind per Komma getrennt (Ausgabe aus einem CAD-Programm, ähnlich Stückliste) in xls einlesen.
Eine Textdatei in (mind.) ein Tabellenblatt.
Ich bin momentan im Anfangsstadium und mache das mit einem erweiterten Makro mit internem Aufruf des Textkonvertierungsassistenten (siehe Anhang). Erweitert habe ich um manuelle Dateiwahl am Anfang über application.GetOpenFilename und manuell gewählter Einfügezelle für mehr Flexibilität.
Die Daten werden mit Beibehalten des Tabellenformates eingelesen, da die Tabelle ein festes Layout hat.
Die Daten bestehen aus einer variablen Anzahl von Zeilen und festen Anzahl von Spalten und enthalten Texte und Zahlen.
Die Tabelle in der ausgedruckten Form hat eine feste Länge (Din A4 quer) mit festem Zoomfaktor im Druck, jedes Tabellenblatt in der ausgedruckten Form hat ganz unten einen fixen Datenbereich mit projektbezogenen Angaben (z.B. zwischen Zeile 41 und 45), und vorher eine Summenzeile, die alle Zahlenspalten summiert (z.B. auf Zeile 40). Dieser fixe Tabellenbereich soll nicht durch die Textdatei gefüllt werden.
Denkbar ist, dass 1) die eingelesenen Daten (auch wenn zu viele Zeilen) alle in ein Tabellenblatt kommen und der fixe Datenbereich mit Summenzeile wird immer wieder nach einer bestimmten Zeilenzahl eingefügt + Summenübertrag für nächste Druckseite
oder vielleicht 2) die eingelesenen Daten nur bis zur maximalen Zeilenzahl 39 auf das erste Tabellenblatt eingefügt werden und der Rest wieder bis Zeilenzahl 39 auf das nächste Tabellenblatt usw.
und der fixe Summen- und Projektbereich unten auf der Seite ist vorbereitet und unverändert in allen Tabellenblättern.
Hat da jemand eine nützliche Idee, wie das Problem am besten zu lösen ist? Im Anhang ist der Code des bisherigen Makros.
Wie kann ich die Anzahl der vom Textkonvertierungsassistenten eingefügten Zeilen im VBA ermitteln?
Ich kann zwar die Startzeile der auszulesenden Daten aus der Textdatei im Assistenten einstellen, nicht aber die Endzeile. Gibt es da einen Trick?
Im Voraus besten Dank für die Unterstützung.
folgende Frage:
ich will verschiedene Textdateien mit unterschiedlicher Anzahl von Datensätzen, Daten (=Spalten) sind per Komma getrennt (Ausgabe aus einem CAD-Programm, ähnlich Stückliste) in xls einlesen.
Eine Textdatei in (mind.) ein Tabellenblatt.
Ich bin momentan im Anfangsstadium und mache das mit einem erweiterten Makro mit internem Aufruf des Textkonvertierungsassistenten (siehe Anhang). Erweitert habe ich um manuelle Dateiwahl am Anfang über application.GetOpenFilename und manuell gewählter Einfügezelle für mehr Flexibilität.
Die Daten werden mit Beibehalten des Tabellenformates eingelesen, da die Tabelle ein festes Layout hat.
Die Daten bestehen aus einer variablen Anzahl von Zeilen und festen Anzahl von Spalten und enthalten Texte und Zahlen.
Die Tabelle in der ausgedruckten Form hat eine feste Länge (Din A4 quer) mit festem Zoomfaktor im Druck, jedes Tabellenblatt in der ausgedruckten Form hat ganz unten einen fixen Datenbereich mit projektbezogenen Angaben (z.B. zwischen Zeile 41 und 45), und vorher eine Summenzeile, die alle Zahlenspalten summiert (z.B. auf Zeile 40). Dieser fixe Tabellenbereich soll nicht durch die Textdatei gefüllt werden.
Denkbar ist, dass 1) die eingelesenen Daten (auch wenn zu viele Zeilen) alle in ein Tabellenblatt kommen und der fixe Datenbereich mit Summenzeile wird immer wieder nach einer bestimmten Zeilenzahl eingefügt + Summenübertrag für nächste Druckseite
oder vielleicht 2) die eingelesenen Daten nur bis zur maximalen Zeilenzahl 39 auf das erste Tabellenblatt eingefügt werden und der Rest wieder bis Zeilenzahl 39 auf das nächste Tabellenblatt usw.
und der fixe Summen- und Projektbereich unten auf der Seite ist vorbereitet und unverändert in allen Tabellenblättern.
Hat da jemand eine nützliche Idee, wie das Problem am besten zu lösen ist? Im Anhang ist der Code des bisherigen Makros.
Wie kann ich die Anzahl der vom Textkonvertierungsassistenten eingefügten Zeilen im VBA ermitteln?
Ich kann zwar die Startzeile der auszulesenden Daten aus der Textdatei im Assistenten einstellen, nicht aber die Endzeile. Gibt es da einen Trick?
Im Voraus besten Dank für die Unterstützung.
