Private Sub Command1_Click()
Dim objExcelApp As Workbook
Dim arrData() As String
Set objExcelApp = GetObject(App.Path & "\testdata.xls", "Excel.Sheet")
With objExcelApp
arrData() = .Worksheets(1).Range("A1").CurrentRegion.Value
.Worksheets(2).Range("A1") = arrData()
.Windows(1).Visible = True
.SaveAs App.Path & "\test" & Format(Now, "yyyymmddhhmmss") & ".xls"
.Application.Quit
End With
Set objExcelApp = Nothing
End Sub
何がしたいか理解していただけますでしょうか?
こういう場合、どうすればよいのでしょうか?
Private Sub Command1_Click()
Dim objExcelApp As Workbook
Dim arrData As Variant
Set objExcelApp = GetObject(App.Path & "\testdata.xls", "Excel.Sheet")
With objExcelApp
arrData = .Worksheets(1).Range("A1:A2").EntireRow
.Worksheets(2).Range("A1").Resize(1, 2).Value = arrData
.Windows(1).Visible = True
.SaveAs App.Path & "\test" & Format(Now, "yyyymmddhhmmss") & ".xls"
.Application.Quit
End With
Set objExcelApp = Nothing
End Sub
注:エクセルのデータを取ってきた場合、配列は(1,1)始まりです。書込みまでに処理を
付け加える場合、配列(0,0)とか使わないで下さい。
ツイート | ![]() |