マクロブックが新しいブックに書き込まれたブックからデータをコピーし、シートの名前を変更しようとしています。コードは2013年に正常に動作しますが、同じコードがWindows 10の2016にエラーをスローします。このワークブックに変更すると、Excel 2016 VBAアクティブワークブックのアクションはアクティブワークブックでは実行されません
Below is the sample code (made changes)
Sub test()
Range("a" & Rows.Count).End(xlUp).Offset(1, 0) = "This workbook"
Application.ScreenUpdating = False
Set newwb = Workbooks.Add
Worksheets.Add
Worksheets.Add
For i = 0 To 50
newwb.Activate
Range("a" & Rows.Count).End(xlUp).Offset(1, 0) = "activeworkbook workbook"
ActiveWorkbook.Sheets(1).Name = "test"
newwb.Activate '--> I don't need to add this code but just to check if it works and still the same issue.
ActiveWorkbook.Sheets(2).Name = "test2"
ActiveWorkbook.Sheets(3).Name = "test3"
ThisWorkbook.Activate
Range("a" & Rows.Count).End(xlUp).Offset(1, 0) = "This workbook"
Next
End Sub
Can you say why it is throwing the error?
Code works perfectly fine in windows 7 excel 2013 but same code throws error in 2016.
It would be great if anyone can help me with this issue.
どのようなエラーがありますか?また、 'ActiveWorkbook'の使用を避けることをお勧めします。代わりに 'newwb'を使いましょう。あなたはすでにリファレンスを持っていますので、アクションを完了するためにブックをアクティブにする必要はありません。 – CynicalSection
これはthiswrokbookを参照しているので、すでに使用されているシート名が記載されています。シート名を変更しようとしたとき、それは能動的なワークブックの代わりにこのワークブックを参照しています。なぜこれが起こるのか分かりませんが、2013年にはうまくいきます。 – IC123456