みなさんのお力を貸して下さい。
現在エクセルマクロにて新規ブックを作成し、作成したブックへ既存のシートをコピーをしたいと思っています。
しかし、コピーメソッド実行時にエラー1004 WorksheetクラスのCopyメソッドが失敗しましたというエラーが発生して困っています。
Dim oXls As Object
Dim oWbk As Object
Dim oSheet As Object
Set oXls = CreateObject("Excel.Application")
Set oWbk = oXls.Workbooks.Add
ThisWorkbook.Worksheets("Sheet1").Copy Before:=oWbk.Worksheets("Sheet1")
どなたかご教授、よろしくお願いします。
No.2
- 回答日時:
No.4ベストアンサー
- 回答日時:
エラーの原因は、redfox63さんが回答されてますのでなんですが。
。。>Set oXls = CreateObject("Excel.Application")
これが拙いですよ、ということです。
'------------------------------------------
Sub test1()
Dim oWbk As Workbook
Set oWbk = Workbooks.Add
ThisWorkbook.Worksheets("Sheet1").Copy Before:=Worksheets("Sheet1")
End Sub
'-----------------------------------------
Sub test2()
Workbooks.Add
ThisWorkbook.Worksheets("Sheet1").Copy Before:=Worksheets("Sheet1")
End Sub
'------------------------------------
Sub test3()
ThisWorkbook.Worksheets("Sheet1").Copy
End Sub
'-------------------------------------
test1,2,3とも新しいブックは、ActiveWorkbook になります。
(test1では、oWbkも新しいブックですが)
また、test3 では、コピーされたシート1枚(Sheet1)のみの新しいブックが作成されます。
ご回答を頂いたみなさま。
早めのご助言を頂き感謝しております!
出来ればActiveWorkbookは使用したくなく(Excel使用中などにバグが出そう・・・想像ですが・・・)キチンとBookを指定して操作を行いたかったので、以下のコードで解決できました!
昨日あれだけ悩んだのがウソのようです。
本当にありがとうございました!
Dim sSheetNM As String
Dim oWbk As Workbook
sSheetNM = "Manage"
Set oWbk = Workbooks.Add
ThisWorkbook.Worksheets(sSheetNM).Copy Before:=oWbk.Worksheets("Sheet1")
oWbk.Worksheets(sSheetNM).Cells(2, 2).Value = "TestInput"
oWbk.SaveAs "d:\Manage.xls"
oWbk.Close
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
ワイルドカード「*」を使うとう...
-
エクセルVBAが途中で止まります
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
【VBA】全シートの計算式を全て...
-
VBS Bookを閉じるコード
-
ExcelのVBAです。フォルダ内の...
-
【マクロ】違うフォルダにある...
-
【ExcelVBA】インデックスが有...
-
エクセルのマクロを使ってメー...
-
エクセルのマクロについて教え...
-
複数のエクセルブックをひとつ...
-
【ExcelVBA】zip圧縮されたCSV...
-
Dir関数で複数ブックへ行いたい...
-
Excelのマクロコードについて教...
-
VBAで複数のブックを開かずに処...
-
マクロで最終行を取得したい
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
ワイルドカード「*」を使うとう...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBS Bookを閉じるコード
-
【ExcelVBA】インデックスが有...
-
VBA コードを実行すると画面が...
-
【ExcelVBA】zip圧縮されたCSV...
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
ExcelのVBAです。フォルダ内の...
-
vbaで他のブックに転記したい。...
-
フォルダ内の全てのファイルに...
-
VBAで複数のブックを開かずに処...
-
VBSでExcelのオープン確認
-
VBA 実行時エラー 2147024893
-
【Excel VBA】書き込み先ブック...
-
VBA シート名が一致した場合の...
おすすめ情報