hi,
ich habe eine excel-datei bekommen, das ein makro enthält. dieses rechnet mir aus gewissen datenreihen etwas aus (mittelwerte uvm.). die excel-tabelle schaut dabei in der 1. spalte folgendermaßen aus:
in der 1. zeile steht "dateiname"
in der 2. zeile "messwerte".
darunter befindet sich ein "los"-button.
nun muss das ding irgendwie mit daten gefüttert werden, wobei jede datenreihe dann eine spalte einnimt. ich hab jedoch keine ahnung, wie ich das ding dazu bring, sich die daten zu holen. irgendwie muss ich mitteilen, in welchem ordner sich die datenreihen befinden.
der anfang des makros, in welchem offensichtlich die daten geholt werden, schaut folgendermaßen aus:
Sub Laden()
Dim PFAD As String
this_book = ActiveWorkbook.Name
BOX = MsgBox("Bitte wählen Sie den Pfad, in dem sich die auszuwertenden" & Chr(13) & "ASCII-Dateien (*.asc) der Schälversuche befinden.", vbOKCancel, "Ordnerwahl")
If BOX = 1 Then
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
Dim vrtSelectedItem As Variant
With fd
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
MsgBox "Pfad gewählt: " & vrtSelectedItem
PFAD = vrtSelectedItem
Next vrtSelectedItem
Else
End If
End With
Set fs = Application.FileSearch
With fs
.LookIn = PFAD
.Filename = "*.ASC"
If .Execute > 0 Then
MsgBox "Es wurde(n) " & .FoundFiles.Count & _
" Datei(en) gefunden."
For i = 1 To .FoundFiles.Count
Workbooks.OpenText Filename:=.FoundFiles(i), _
Origin:=932, 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)), TrailingMinusNumbers:=True
Call Kopieren(this_book)
Next i
Call Auswerten(this_book)
Else
MsgBox "Es wurden keine ASC-Dateien gefunden."
End If
End With
End If
End Sub
Sub Kopieren(this_book)
Dim Row As Integer
Dim Column As Integer
new_book = ActiveWorkbook.Name
Windows(this_book).Activate
Range("IV1").Activate
ActiveCell.End(xlToLeft).Select
ActiveCell.Offset(0, 1).Select
Row = ActiveCell.Row
Column = ActiveCell.Column
ActiveCell.Value = new_book
Windows(new_book).Activate
Range("B1265535").Select
Selection.Copy
Windows(this_book).Activate
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows(new_book).Activate
Application.DisplayAlerts = False
ActiveWindow.Close SaveChanges = False
Application.DisplayAlerts = True
End Sub
...
wie lade ich denn die daten in excel? bzw wie teile ich dem makro mit, in welchem ordner sich die daten befinden?
ich habe eine excel-datei bekommen, das ein makro enthält. dieses rechnet mir aus gewissen datenreihen etwas aus (mittelwerte uvm.). die excel-tabelle schaut dabei in der 1. spalte folgendermaßen aus:
in der 1. zeile steht "dateiname"
in der 2. zeile "messwerte".
darunter befindet sich ein "los"-button.
nun muss das ding irgendwie mit daten gefüttert werden, wobei jede datenreihe dann eine spalte einnimt. ich hab jedoch keine ahnung, wie ich das ding dazu bring, sich die daten zu holen. irgendwie muss ich mitteilen, in welchem ordner sich die datenreihen befinden.
der anfang des makros, in welchem offensichtlich die daten geholt werden, schaut folgendermaßen aus:
Sub Laden()
Dim PFAD As String
this_book = ActiveWorkbook.Name
BOX = MsgBox("Bitte wählen Sie den Pfad, in dem sich die auszuwertenden" & Chr(13) & "ASCII-Dateien (*.asc) der Schälversuche befinden.", vbOKCancel, "Ordnerwahl")
If BOX = 1 Then
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
Dim vrtSelectedItem As Variant
With fd
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
MsgBox "Pfad gewählt: " & vrtSelectedItem
PFAD = vrtSelectedItem
Next vrtSelectedItem
Else
End If
End With
Set fs = Application.FileSearch
With fs
.LookIn = PFAD
.Filename = "*.ASC"
If .Execute > 0 Then
MsgBox "Es wurde(n) " & .FoundFiles.Count & _
" Datei(en) gefunden."
For i = 1 To .FoundFiles.Count
Workbooks.OpenText Filename:=.FoundFiles(i), _
Origin:=932, 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)), TrailingMinusNumbers:=True
Call Kopieren(this_book)
Next i
Call Auswerten(this_book)
Else
MsgBox "Es wurden keine ASC-Dateien gefunden."
End If
End With
End If
End Sub
Sub Kopieren(this_book)
Dim Row As Integer
Dim Column As Integer
new_book = ActiveWorkbook.Name
Windows(this_book).Activate
Range("IV1").Activate
ActiveCell.End(xlToLeft).Select
ActiveCell.Offset(0, 1).Select
Row = ActiveCell.Row
Column = ActiveCell.Column
ActiveCell.Value = new_book
Windows(new_book).Activate
Range("B1265535").Select
Selection.Copy
Windows(this_book).Activate
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows(new_book).Activate
Application.DisplayAlerts = False
ActiveWindow.Close SaveChanges = False
Application.DisplayAlerts = True
End Sub
...
wie lade ich denn die daten in excel? bzw wie teile ich dem makro mit, in welchem ordner sich die daten befinden?