Hallo,
erst mal vorne weg, ich habe von VBA nicht viel bis keine Ahnung und im Moment keine Zeit mich rein zu arbeiten, brauche aber ganz dringend ein Makro für die Arbeit.
Die Aufgabenstellung ist folgende:
Ich habe eine .txt Datei in der Messwerte von 10 Messdurchläufen gesammelt werden. Diese Werte sind schon mit Tab getrennt, lassen sich also leicht in Excel einlesen.
Die Messwerte sollen aus der txt ausgelesen und in ein Excelformular importiert werden, dabei ist im Makro festgelegt, welche Zelle aus der txt in welche Zelle des Formulars geschrieben wird.
Für das Auslesen habe ich bereits ein Makro, dass soweit auch funktioniert:
<pre><code>Sub merge_öffnen()
'
' Sammeldatei merge__chr.txt öffnen
'
Workbooks.OpenText Filename:= _
"S:\xx\xx\xx\merge__chr.txt", _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1), Array( _
28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array(33, 1), Array(34, 1), _
Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), Array(40, 1), Array( _
41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array(46, 1)), _
DecimalSeparator:=".", ThousandsSeparator:=",", TrailingMinusNumbers:= _
True
End Sub</code></pre>
Dieses Makro ist mit einem Button verknüpft.
Da ich mehrere Formulare (ca. 100 im Moment, werden mehr) mit unterschiedlichen Dateinamen habe und ich nicht für jedes die Pfade im Makro ändern will, brauche ich dafür eine Lösung.
Ich hatte daran gedacht beim Klicken des Buttons ein Eingabefeld zu öffnen, in das der Dateiname des Formulars eingegeben wird, in das die Werte geschrieben werden.
Weniger umständlich wäre, wenn ich das Betreffende Formular und die Datei mit dem Makro öffne, eine Tastenkombination drücke und die Werte ins gerade aktive Tabellenblatt, also das gewünschte Formular, geschrieben werden.
Also soll das Makro entweder
– auf Knopfdruck die Werte aus der .txt einlesen
– per Eingabefeld nach dem Namen der Zieldatei fragen
– die Werte in die Zieldatei schreiben (nur die Werte, nicht die ganze Zelle)
– per Eingabefeld zur Eingabe eines neuen Dateinamens für die ausgefüllte Zieldatei auffordern um diese in einem festgelegten Ordner zu speichern
– Zieldatei speichern
– Quelldatei und Datei mit dem Makro/Button schließen
oder
nach öffnen der Zieldatei
– per Tastenkombination die Werte importieren
– Quelldatei und Datei mit dem Makro/Button schließen
Mfg
|