それもChatGPT!?と驚いた使用方法を教えてください

VBA初心者です。
ACCESS VBAからExcelブック2のシート「データ①」をExcelブック1のシート「データ①」へコピーしたいのですが、インデックスが有効でないとのエラーで先にすすめません。
どなたかをご教授願います。

Private Sub Ps_Excel_Data_Set()
Dim strNewFileName As String
Dim strOldFileName As String

Dim xlApp As Object
Dim xlBook1 As Object
Dim xlBook2 As Object
Dim xlSheet As Object

strNewFileName = "c:\ブック1.xls"
strOldFileName = "c:\ブック2.xls"

'エクセル展開
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
xlApp.UserControl = False
xlApp.DisplayAlerts = False
Set xlBook1 = xlApp.Workbooks.Open(strNewFileName)
Set xlBook2 = xlApp.Workbooks.Open(strOldFileName)

'シート削除
xlBook1.Worksheets("DATA①").Delete
xlBook1.Worksheets("DATA②").Delete

  '****************ここでエラーが出ています!
'シートコピー
'xlBook2.Worksheets("DATA①").Copy after:=xlApp.Workbooks(strNewFileName).sheets(1)
  '**************************************

  'エクセルファイルを閉じる
xlBook2.Close (False)

Set xlSheet = Nothing
Set xlBook2 = Nothing

'エクセルファイルを閉じる
xlBook1.Close (True)
xlApp.Quit

'オブジェクトの開放
Set xlBook1 = Nothing
Set xlApp = Nothing

End Sub

A 回答 (1件)

xlBook2.Worksheets("DATA①").Copy after:=xlApp.Workbooks(xlBook1.Name).sheets(1)


だとどうです?
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A