|
CSV出力に関して質問いたします。
ワークシート1、ワークシート2の2種類があります。
現在、下記の構文でCSV出力していますが、
ワークシート1のみです。
ワークシート2を出力するにはどうすればよろしいでしょうか?
ご指導お願いします。
”現在の構文”
Private Sub CommandButton1_Click()
Dim Target As Range
Set Target = ActiveSheet.UsedRange.Resize(, 45)
Target.Select
If MsgBox("CSV保存しますか?", vbOKCancel) _
= vbCancel Then Exit Sub
Dim SaveFile ' CSVファイルパス
SaveFile = CreateObject("WScript.Shell"). _
SpecialFolders("DeskTop") & "\データ.Csv"
SaveFile = Application.GetSaveAsFilename(SaveFile, "CSV,*.csv")
If VarType(SaveFile) = vbBoolean Then Exit Sub
'(1)新規Bookをシート枚数1枚で 追加する。
Dim SaveCount&
Dim NewBook As Workbook
With Application
SaveCount = .SheetsInNewWorkbook
.SheetsInNewWorkbook = 1
Set NewBook = Workbooks.Add
.SheetsInNewWorkbook = SaveCount
End With
'(2) 元のBookの指定シートのUsedRange.Resize(,45) の範囲を _
Copyして、新規BookのSheets(1).Range("A1")に貼り付ける。
Target.Copy NewBook.Sheets(1).Range("A1")
'(3)新規BookをCSV形式で保存する
With NewBook
.SaveAs SaveFile, xlCSV, Local:=True
.Save
.Close
End With
MsgBox "CSV形式で保存しました", , SaveFile
Set Target = Nothing
Set NewBook = Nothing
End Sub
よろしくお願いします。
|
|