エクセル/シートの中にボタンを作り
ボタンにsheet/VBAをon_clickで連動させて
事前に用意しているcsvファイルを毎回まっさらな状態で読み込むという動作をしたいです。
サンプルをお借りしたのですが
.Refresh BackgroundQuery:=False
の所で毎回エラーが出ます。
何を用いたらcsv内データをシートに転記できるかご教授いただけますでしょうか。
-----
エラー内容
実行時エラー1004
外部データ範囲を更新するためのテキストファイルが見つかりません。
テキストファイルが移動または名前が変更されていないことを確認し、再度実行してください。
[終了][デバッグ]
-----
Private Sub CommandButton1_Click()
Const CSV_FILE As String = "C:\Users\user\Desktop\test\0001.csv"
Const CSV_SHEET_NAME As String = "csv"
Dim sheet As Worksheet
Dim csvSheet As Worksheet
For Each sheet In ThisWorkbook.Worksheets
If sheet.Name = CSV_SHEET_NAME Then
Application.DisplayAlerts = False
Worksheets(CSV_SHEET_NAME).Delete
Application.DisplayAlerts = True
End If
Next
Set csvSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count))
csvSheet.Name = "csv"
With csvSheet.QueryTables.Add(Connection:="TEXT;" & CSV_FILE, Destination:=Sheets("csv").Range("B2"))
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True
.TextFileColumnDataTypes = Array(xlTextFormat, xlTextFormat, xlTextFormat)
.TextFilePlatform = 932
.TextFileStartRow = 1
.RefreshStyle = xlOverwriteCells
.Refresh BackgroundQuery:=False
.Delete
End With
End Sub

回答1件
あなたの回答
tips
プレビュー