Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
536to540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
536to540
536to540
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Frage Macro Datenimport

Frage Macro Datenimport
20.12.2004 18:18:54
SteffenH
Hallo,
ich haette da mal eine Frage zum Thema Datenimport via Makro in excel, ist vermutlich nicht sehr schwierig, habe aber bemerkenswert wenig Ahnung, waer sehr nett, wenn mir jemand helfen koennte...
Folgendes Problem:
Von einem Messgeraet bekomme ich pro Messung zwei files: aXXXXXXXX.tab und bXXXXXXXX.tab (delimeted, semicolon separated files). Das Ausgabeverzeichnis ist fix, und die achtstellige Nummer XXXXXXXX ist fuer beide Dateien identisch. Ich wuerde nun gern per Macro einen Datenimport durchfuehren, hier liegt mein Problem. Ich haette gern, zu Begin des Makros, eine Abfrage nach der achtstelligen Nummer (XXXXXXXX). Das Makro muesste dann zunaechst einen Datenimport des files aXXXXXXXX.tab in mein excel sheet (e.g. Feld A1) durchfuehren; im Anschluss einen Datenimport des files bXXXXXXXX.tab in dasselbe excel sheet (e.g. Feld A25) durchfuehren, die Details des Datentransports sind nicht so sehr das Problem, eher das handling der Dateinahmen.
Wie Ihr seht bin ich in punkto VBA nicht sehr bewandert, ich hoffe es findet sich jemand, der mir weiterhelfen kann.
Vielen Dank im Voraus,
Steffen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage Macro Datenimport
20.12.2004 19:01:25
Josef
Hallo Steffen!
das geht zB. so!

Sub frageNummer()
Dim lNum As Long
Dim strFile As String, strTemp As String, strPath As String
Dim lRow As Long
lRow = 1
strPath = "D:\Temp\"
Do
lNum = Application.InputBox("Bitte geben Sie die Nummer ein!", "Nummer", lNum, Type:=1)
If lNum = Empty Then Exit Sub
If Len(CStr(lNum)) = 8 Then Exit Do
MsgBox "Bitte überprüfen Sie die Nummer!"
Loop
strFile = strPath & "a" & lNum & ".tab"
'Import erste Datei
Open strFile For Input As #1
Do While Not EOF(1)
Input #1, strTemp
Cells(lRow, 1) = strTemp
lRow = lRow + 1
Loop
Close #1
strFile = strPath & "b" & lNum & ".tab"
'Import zweite Datei
Open strFile For Input As #1
Do While Not EOF(1)
Input #1, strTemp
Cells(lRow, 1) = strTemp
lRow = lRow + 1
Loop
Close #1
End Sub

Code eingefügt mit: Excel Code Jeanie
Gruß Sepp
Anzeige
AW: Frage Macro Datenimport
Ramses
Hallo Sepp
Cool :-)
Ich würde noch
strFile = strPath & "a" & lNum & ".tab"
'----------------
If Dir(strFile) = "" Then
Msgbox "Datei existiert nicht")
Exit Sub
end If
'----------
'Import erste Datei
Open strFile For Input As #1
hinzufügen, sonst wird eine Datei mit dem Namen erstellt.
Gruss Rainer
Hallo Rainer! Du hast natürlich recht! o.T.
20.12.2004 19:07:06
Josef
Gruß Sepp
AW: Frage Macro Datenimport
21.12.2004 09:54:04
SteffenH
Hallo Rainer und Josef,
wow, das ging fix. Der Import funktioniert super, vielen Dank!!!
Wo das so gut funktioniert hat, ich haette da doch noch noch eine Frage... (die Nummer mit dem Finger und der ganzen Hand :-)). Ich hab pro tab file 20 Zeilen mit Semikolon separierten Werten, waere es moeglich die semikolon separierten Werte jeweils in eine eigene Zelle zu schreiben? Hab versucht ein recorded "data import" makro, kombiniert mit dem was Ihr mir gesendet habt, zu verwenden, hat aber leider nicht funktioniert.
Beste Gruesse und vielen Dank
Steffen
Anzeige
AW: Frage Macro Datenimport
21.12.2004 11:03:08
Josef
Hallo Steffen!
Option Explicit

Sub frageNummer()
Dim lNum As Long
Dim strFile As String, strTemp As String, strPath As String
Dim lRow As Long
lRow = 1
strPath = "D:\Temp\"
Do
lNum = Application.InputBox("Bitte geben Sie die Nummer ein!", "Nummer", lNum, Type:=1)
If lNum = Empty Then Exit Sub
If Len(CStr(lNum)) = 8 Then Exit Do
MsgBox "Bitte überprüfen Sie die Nummer!"
Loop
strFile = strPath & "a" & lNum & ".tab"
If Not FileExist(strFile) Then _
MsgBox "Datei """ & strFile & """ nicht gefunden!": Exit Sub
'Import erste Datei
Open strFile For Input As #1
Do While Not EOF(1)
Input #1, strTemp
Cells(lRow, 1) = strTemp
lRow = lRow + 1
Loop
Close #1
strFile = strPath & "b" & lNum & ".tab"
If Not FileExist(strFile) Then _
MsgBox "Datei """ & strFile & """ nicht gefunden!": Exit Sub
'Import zweite Datei
Open strFile For Input As #1
Do While Not EOF(1)
Input #1, strTemp
Cells(lRow, 1) = strTemp
lRow = lRow + 1
Loop
Close #1
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1))
Columns.AutoFit
End Sub

Public Function FileExist(ByVal Dateiname As String) As Boolean
On Error GoTo errorhandler
If Dateiname = "" Then GoTo errorhandler
FileExist = Dir$(Dateiname) <> ""
Exit Function
errorhandler:
FileExist = False
Resume Next
End Function

Code eingefügt mit: Excel Code Jeanie
Gruß Sepp
Anzeige
AW: Frage Macro Datenimport
21.12.2004 11:17:16
SteffenH
Treffer!
Funktioniert glattestens!
Vielen Dank!!!
Steffen

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige