機能するコードで質問を更新しました:
VBA for Excel を使用して、1 つの .xlsm ファイルで csv データを 2 つ目の .xlsm ファイルに格納できるようにしたいと考えています。後者のファイルは、複数のコンピューターで開いている可能性があります。以下は、これを達成しようとする Excel のボタンの背後にあるコードです。
Sub bad_boy()
Dim wb As Workbook, strFile As String, ws As Worksheet
Set wb = Workbooks.Open("C:\Temp\TestFolder\son1.xlsm") 'set to current worksheet name
Set ws = wb.ActiveSheet
strFile = Application.GetOpenFilename("Text Files (*.csv),*.csv", , "Please select text file...")
With ws.QueryTables.Add(Connection:="TEXT;" & strFile, Destination:=ws.Range("A1"))
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True
.Refresh
End With
End Sub
このコードは、ユーザーが自分のコンピューターから csv ファイルを参照して選択できるようにすることを目的としています。