Hallo Tolis,
< Dieses Makro greift jedoch nur auf die Versuchsreihe zu, die ich innerhalb dieses Makros als Beispiel verwendet habe.
aufgezeichnete Makros machen das eben so – sie speichern nur "Konstante", d.h. die Aufgabe für VBA ist hier "Variable" abzuarbeiten.
Dazu benötigt der Algorithmus ein logisches Schema, den Aufbau wo die *.cvs bzw. *.txt zu finden !
Einfach mal so (Quick&Dirty)
Annahmen :
csv steckt immer in "E:\Streifenziehanlage\Versuche 21.01.2014\HBM-Daten\" und ist fortlaufend 01.csv bis 96.csv
txt immer in "E:\Streifenziehanlage\Versuche 21.01.2014\Aramis-Daten\" und
ist fortlaufend
SCHNITT-STREIFEN_001_point0.txt bis SCHNITT-STREIFEN_096_point0.txt
bzw.
SCHNITT-STREIFEN_001_point1.txt bis SCHNITT-STREIFEN_096_point1.txt
Option Explicit
Sub ImportAlleDaten()
Dim x As Integer
For x = 1 To 96
Call Import_Messdaten(x)
Next x
End Sub
Sub Import_Messdaten(ByVal myNumber As Integer)
'
Const mcsvAddStr As String = _
"TEXT;E:\Streifenziehanlage\Versuche 21.01.2014\HBM-Daten\02.csv"
Const mcsvAddNam As String = "02"
'
Const mtxt1AddStr As String = _
"TEXT;E:\Streifenziehanlage\Versuche 21.01.2014\Aramis-Daten\SCHNITT-STREIFEN_002_point0.txt"
Const mtxt1AddNam As String = "SCHNITT-STREIFEN_002_point0"
'
Const mtxt2AddStr As String = _
"TEXT;E:\Streifenziehanlage\Versuche 21.01.2014\Aramis-Daten\SCHNITT-STREIFEN_002_point1.txt"
Const mtxt2AddNam As String = "SCHNITT-STREIFEN_002_point1"
'
Rem jetzt die Variabel bilden
Dim mycvsStr As String, mycvsNam As String
Dim mytxt1Str As String, mytxt1Nam As String
Dim mytxt2Str As String, mytxt2Nam As String
Dim myRepl As String
'
Rem die Variablen ersetzen / bilden
myRepl = Format(myNumber, "0#") & ".csv"
mycvsStr = Replace(mcsvAddStr, "02.csv", myRepl)
mycvsNam = Format(myNumber, "0#")
'
myRepl = "STREIFEN_0" & Format(myNumber, "0#")
mytxt1Str = Replace(mtxt1AddStr, "STREIFEN_002", myRepl)
mytxt1Nam = Replace(mtxt1AddNam, "STREIFEN_002", myRepl)
mytxt2Str = Replace(mtxt2AddStr, "STREIFEN_002", myRepl)
mytxt2Nam = Replace(mtxt2AddNam, "STREIFEN_002", myRepl)
'
' Import_Messdaten Makro
'
With ActiveSheet.QueryTables.Add(Connection:= _
mycvsStr, Destination _
:=Range("$A$2"))
.Name = mcsvAddNam
'usw
End With
Rem k.A. was da sonst noch konstant
With ActiveSheet.QueryTables.Add(Connection:= _
mytxt1Nam _
, Destination:=Range("$H$1"))
.Name = mytxt1Nam
'usw
End With
Rem k.A. was da sonst noch konstant
'
With ActiveSheet.QueryTables.Add(Connection:= _
mytxt2Str _
, Destination:=Range("$N$1"))
.Name = mytxt2Nam
'usw.
End With
Rem k.A. was da sonst noch konstant
End Sub
|