CSVデータをEXCELシートに展開したい
CSVデータをEXCELシートに展開しようとしています。
シート1にボタンを用意して、クリックするとシート2に展開されるというようなことをしたいのです。
以下のコード(マクロを組んで作られるコードです)だと、シート2に取り込まれないです。
どのようにすればシート2に展開されるでしょうか?
Private Sub CommandButton2_Click()
Dim SH As Worksheet
'
Set SH = Worksheets("Sheet2")
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\temp\test1.", _
Destination:=Range("A1"))
.Name = "test1
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1)
.Refresh BackgroundQuery:=False
End With
よろしくお願いします。
投稿日時 - 2007-02-27 22:10:34
ぱっと見ただけでですが、
Set SH = Worksheets("Sheet2")
とシート2を変数にセットしただけで、あとはどこでも使ってないので、ActiveSheetはシート1のままですよね。
Set SH = Worksheets("Sheet2")
を
Worksheets("Sheet2").Activate
とするか、あるいは
With ActiveSheet.QueryTables.Add(Connection:= _
を
With SH.QueryTables.Add(Connection:= _
としてみればうまくいきませんか?
投稿日時 - 2007-02-27 22:23:08
ham_kamoさんありがとうございます。
Worksheets("Sheet2").Activate をいれるとうまくいきました。
それと、SHの使い方ですね。
殆どVBAが解らずにいたので、大変たすかりました。
ありがとうございました。
投稿日時 - 2007-02-28 23:30:01
このQ&Aは役に立ちましたか?
0人が「このQ&Aが役に立った」と投票しています
回答(1)