以前にこのような記事を作成しました。
あれから3年。
PC環境を新しくすることが出来ました。
以前のワークシート上限記録を塗り替えてやる!
PC環境
今回新しくなったPCの環境は以下のとおりです。
以前の環境は多分以下のとおりです。
マクロでシートを続々追加
Sub Woksheets_Infinity_Add() Do Until Worksheets.Count = 20000 Worksheets.Add Debug.Print Worksheets.Count Loop End Sub
※上記コードを実行することでPCが不安定になります。
実行する方は自己責任で。
ワークシートは使用可能メモリに依存するということを前回の最後に記載しました。
前回は5,448枚までワークシートを追加することが出来ました。
メモリ容量が前回の倍ですのでシート枚数も倍になると予想。
10,000では足りなくなるのでシート枚数を20,000に変更しました。
さぁ実験開始です!
実験結果
さっそくですが、上記コードの実行結果がこちらです。
...
あれ?5,452?
前回とほぼ変わらない枚数しか追加することが出来ませんでした。
(前回は5,448枚)
Microsoftさん、シート枚数はメモリ依存ではないのですか?
ブックのシート 使用可能メモリに依存 (既定値は 1 シート)
原因
自分では全く原因がわかりませんでしたが、twitterでヒントを頂けました。
どこかでみたことあると思ったら、3ヶ月前に自分でやってた😅
— 高柳直紀⚡exce.live(エクセリブ)チョットデキル (@excelive) 2021年12月5日
そのときは、vbe7.dllというとこまで突き止めて、諦めた💦
ちな、メモリ128Ghttps://t.co/Xe7WxXExQu
128GBというモンスター級マシンでも5,450枚までしかシートを追加できないそうです。
原因と思われるのは「vbe7.dll」だそうです。
※この辺りは全く私はわかりません。
他のtwitterフォロワーの方も5,500弱くらいまでしか追加できなかったそうです。
ワークシートの最大枚数は
ということでExcelのブックに追加できるワークシートの最大枚数は
5,452 くらいということになりました。
もしコレより大幅に追加できる方がいらっしゃったら教えて下さい!