Clever-Excel-Forum

Normale Version: Dateiauswahl bei Datei Import
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Schönen Sonntag Nachmittag Zusammen

Sonntag, 16:00 Bastelzeit.

Benötige Hilfe der Dateiauswahl beim Dateiimport .

Ziel ist, Makro zu starten,
Datei im pfadgesteuertem Dialog auszuwählen ( CSV Datei). [[variable Dateiauswahl]  hier Eure Hilfe notwendig]
Importparmeter sind voreingestellt,
Daten werden in Neues Tabellenblatt geschrieben,
Umwandlung als intelligente Tabelle
Speichern der Datei unter pfadgesteuertem Dialog [Speichern unter Dialog im richtigen Pfad   hier Eure Hilfe notwendig]

Hier mein eingekürzter Makro-Code

Option Explicit

Sub Import_Kto()

' Import Kontodaten
'

Dim Pfadangabe As String
Dim Datname As String

Pfadangabe = D:\etc...
Datname = [Dateiauswahl]


   ActiveWorkbook.Worksheets.Add
   With ActiveSheet.QueryTables.Add(Connection:= _
       "TEXT;D:\etc...\etc...\etc...\[Dateiauswahl].CSV" _
       , Destination:=Range("$A$1"))
       .Name = "[Dateiauswahl]"
    'weiterer Makrotext'
   End With
   ActiveSheet.QueryTables("[Dateiauswahl]").Delete
   ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$K$156"), , xlYes).Name = _
       "Tabelle1"
   ActiveCell.Range("Tabelle1[#All]").Select
   ActiveSheet.ListObjects("Tabelle1").TableStyle = "TableStyleLight11"
   ActiveCell.Offset(1, 0).Range("Tabelle1[[#Headers],[Auftragskonto]]").Select
   ChDir Pfadangabe
   ActiveWorkbook.SaveAs Filename:= _
       "D:\etc...\2018_Aktuell.xlsx", _
       FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub

Danke für eure Unterstützung
Mick_DUS
Anbei zwei Funktionen, die das leisten

Code:
Function selectFile(startDir As String) As String

Dim FileToOpen As FileDialog

   Set FileToOpen = Application.FileDialog(msoFileDialogFilePicker)

   With FileToOpen
       .InitialFileName = startDir
       .AllowMultiSelect = False
       .Filters.Add "CSV Dateien", "*.csv", 1

       If .Show = False Then
           selectFile = ""
       Else
           selectFile = .SelectedItems(1)
       End If
   End With

End Function
und
Code:
Function selectDir(startDir As String) As String

Dim DirToSave As FileDialog
   Set DirToSave = Application.FileDialog(msoFileDialogFolderPicker)

   With DirToSave
       .InitialFileName = startDir
       .AllowMultiSelect = False

       If .Show = False Then
           selectDir = ""
       Else
           selectDir = .SelectedItems(1)
       End If
   End With

End Function
Kleiner test

Code:
Sub test()
Dim s As String
Dim r As String

   s = " Start Dir "

   r = selectFile(s)
   Debug.Print r

   r = selectDir(s)
   Debug.Print r
End Sub