Der folgende Code wird nach Textdateien suchen, aber ich möchte das gleiche Dialogfenster über den Ordner meiner aktuellen Datei öffnen. Wie würde ich das tun?Ich möchte das Dialogfeld öffnen, um nach einer Excel-Datei zu suchen und zu importieren
fName = Application.GetOpenFilename ("Textdateien (* .txt), * .txt")
Wenn fName = "false" Dann Sub Ausgang
With Sheets("data export").QueryTables.Add(Connection:="TEXT;" & fName, _
Destination:=Worksheets("data export").Range("$A$1"))
.Name = "sample"
.FieldNames = True
.RowNumbers = True
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierNone
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "" & Chr(10) & ""
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Warum funktioniert dieser Code nicht? Es sieht einfacher aus. Sub SelectFileGetAllSheetsSAS() Dim ds As String Dim fNameAndPath As Variant ds = ThisWorkbook.Name fNameAndPath = Application.GetOpenFilename (Filefilter: = _ "Excel-Dateien (* .xls), * .xls", Titel: =“ Wählen Sie Datei zum Öffnen ") Wenn fNameAndPath = False Dann Exit Sub Workbooks.Open Dateiname: = fNameAndPath Sheets.Copy nach: = Arbeitsmappen (ds) .Sheets (" Master-Datei ") End Sub –