Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

[Hilfe]


Betrifft: [Hilfe] von: Julian
Geschrieben am: 30.09.2019 09:41:35

Hallo Community,

ich habe folgendes Problem: ich möchte gerne aus einem vorher ausgewählten Ordner mehrere txt-Dateien öffnen und die Daten weiter verarbeiten. Die Auswahl klappt. Die Variable "ordner" hat auch den korrekten Wert / Pfad. Jedoch hat dann die Datei-Variable den falschen Wert, obwohl die richtige Datei gefunden wurde. Quellcode und Fehlermeldungen als Bilder folgen:

Sub Ordnerauswahl()
Dim ordner As String
Dim dateiname As String
Dim i, n As Integer
Dim Wb_proto As Workbook
Dim Wb_feste As Workbook

Set Wb_proto = ActiveWorkbook

MsgBox "Please choose the datafolder of fixed sensor mounting measurement!", _
vbOKOnly + vbInformation, "Information"

With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Ordnerauswahl"
        .ButtonName = "Ordner auswählen"
        .InitialView = msoFileDialogViewList
        .Show
        ordner = .SelectedItems(1)
End With

For i = 1 To 3 Step 1
For n = 12 To 52 Step 20
dateiname = Dir(ordner & "\" & "20*" & i & "_fixed.txt")

MsgBox ordner
MsgBox dateiname

Application.Workbooks.OpenText Filename:=dateiname, DataType:=xlDelimited, _
Tab:=True, Semicolon:=True, Other:=True, OtherChar:="=", Local:=True
    Set Wb_feste = ActiveWorkbook
    Range("A1:B7").Select
    Selection.Copy
    Wb_proto.Activate
    Sheets("festeAufnahme").Select
    Cells(n, 1).Select
    ActiveSheet.Paste
    Wb_feste.Activate
    Application.CutCopyMode = False
    ActiveWindow.Close SaveChanges:=False
Next n
Next i

End Sub




  

Betrifft: AW: [Hilfe] von: Nepumuk
Geschrieben am: 30.09.2019 09:46:16

Hallo Julian,

du musst in der Open-Methode bei Filename auch den Ordner angeben.

Gruß
Nepumuk


  

Betrifft: AW: [Hilfe] von: Julian
Geschrieben am: 30.09.2019 10:05:46

Hallo Nepumuk,

wird bei dateiname = Dir(ordner & "\" & "20*" & i & "_fixed.txt") nicht die Variable dateiname als Pfad+Datei definiert?

In einer anderen VBA funktioniert dies.

EDIT: Gerade gesehen, bei der anderen wird der Pfad nicht angezeigt. Tatsächlich, Ordnerangabe fehlt dort auch :O.

EDIT2: Es klappt!

Danke!

Cheers,
Julian


  

Betrifft: AW: [Hilfe] von: Julian
Geschrieben am: 30.09.2019 10:25:20

For Next Schleife ist nun auch gefixt.

Sub Ordnerauswahl()
Dim ordner As String
Dim dateiname As String
Dim i, n As Integer
Dim Wb_proto, Wb_feste As Workbook

Set Wb_proto = ActiveWorkbook

MsgBox "Please choose the datafolder of fixed sensor mounting measurement!", _
vbOKOnly + vbInformation, "Information"

With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Ordnerauswahl"
        .ButtonName = "Ordner auswählen"
        .InitialView = msoFileDialogViewList
        .Show
        ordner = .SelectedItems(1)
End With

i = 1
For n = 12 To 52 Step 20

dateiname = Dir(ordner & "\" & "20*" & i & "_fixed.txt")
'MsgBox ordner
'MsgBox dateiname

'Datensätze der fixen Aufname
Application.Workbooks.OpenText Filename:=ordner & "\" & dateiname, DataType:=xlDelimited, _
Tab:=True, Semicolon:=True, Other:=True, OtherChar:="=", Local:=True
    Set Wb_feste = ActiveWorkbook
    Range("A1:B8").Select
    Selection.Copy
    Wb_proto.Activate
    Sheets("festeAufnahme").Select
    Cells(n, 1).Select
    ActiveSheet.Paste
    Wb_feste.Activate
    Application.CutCopyMode = False
    ActiveWindow.Close SaveChanges:=False
i = i + 1
Next n

End Sub