0
Excel VBAで非常に簡単に見えるコードを作成しようとしていますが、結局私は狂ってしまいます。Multiselect - VBA Excelでテキストファイルを追加します。
まずは、私の不自由な英語の言い訳です。ここで質問になる:
複数のプレーンテキストファイルを複数の同じワークシートに順次ロードするには、マルチセレクション機能を使用することが目的です。彼らはそれぞれが他のものの下にある必要があります。私はそれらを適切に1つずつロードするコードを管理しましたが、私は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、あなたの返信をありがとう。あなたのコードを試しましたが、テキストファイルを必要なだけ同じ列に配置せず、各ファイルを別の列に配置します。しかし、あなたのコードでは、すべてのファイルは、先行するファイルの下の1行ですが、依然として異なる列にあります。 – ElCodificadorWey
あなたは私をトラックに入れます。あなたのコードの行を修正しました: ""あなたのコードの先頭に使われているdestCell = destCell.Offset(1、0) ""を設定してください "" destCell = Worksheets( "PEDREC")を設定してください。 、 "A")。End(xlUp).Offset(1) ""そして今はうまくいくようです。答えは私の鼻の前にあった。あなたの助けをもう一度ありがとう! – ElCodificadorWey