ExcelのデータをRangeで一気に取り込むには?


you  2003-11-05 01:15:53  No: 109675

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

何がしたいか理解していただけますでしょうか?
こういう場合、どうすればよいのでしょうか?


特攻隊長まるるう  2003-12-02 08:38:40  No: 109676

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)とか使わないで下さい。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加