0
我想在Excel VBA中編寫一些看起來很容易的東西,但最終讓我生氣了。使用Multiselect追加文本文件-VBA Excel
首先,我的蹩腳英語的藉口。這裏有個問題:
該程序的目標是使用multiselect函數在同一工作表中一個接一個地加載多個純文本文件。他們需要每個都低於另一個。我管理代碼逐個加載它們,但是我堅持使用MultiSelect。
該代碼附加文件,但一個接一個(讓我們說水平),而不是垂直,因爲我需要。這是我的代碼:
Private Sub Prova_Multiselect_Click()
Dim Fitxers As Variant
Dim Msg As String
Dim I As Integer
Dim destCell As Range
Set destCell = Worksheets("PEDREC").Cells(Rows.Count, "A").End(xlUp).Offset(1)
Fitxers = Application.GetOpenFilename(MultiSelect:=True, Title:="Choose txt files", FileFilter:="Text files *.txt (*.txt),")
If IsArray(Fitxers) Then
Set destCell = Worksheets("PEDREC").Cells(Rows.Count, "A").End(xlUp).Offset(1)
Msg = "Files selected:" & vbNewLine
For I = LBound(Fitxers) To UBound(Fitxers)
With destCell.Parent.QueryTables.Add(Connection:="TEXT;" & Fitxers(I), Destination:=destCell)
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True
.Refresh BackgroundQuery:=False
End With
Msg = Msg & Fitxers(I) & vbNewLine
Next I
MsgBox Msg
Else
MsgBox "No file selected."
End If
End Sub
我試過並搜索,但我找不到在同一列中追加所有文件的方式。任何幫助和想法都將受到歡迎! :D
在此先感謝!
嗨Werrf,感謝您的回覆。我試過你的代碼,但它並沒有將文本文件放在我需要的同一列中,並且仍然將每個文件放在不同的列中。然而,用你的代碼,每個文件都是先行文件下面的一行,但仍然在不同的列中。 – ElCodificadorWey
你把我放在賽道上。我修改了代碼中的一行:「」Set destCell = destCell.Offset(1,0)「」爲我的代碼開始處使用的那個「」「設置destCell =工作表(」PEDREC「)單元格(Rows.Count ,「A」)。End(xlUp).Offset(1)「」現在它似乎工作。答案就在我鼻子的正前方。再次感謝你的幫助! – ElCodificadorWey