ExcelマクロをWindows10で動作させると遅くなっていた現象をWindows11ではどうなるのかを確認しました。
Windows10で検証をしたのは2年前ですので、新しいバージョンのWindowsでは解消されているか、否か。
目次
Windows10でマクロが遅くなるおさらい
Windows10で追加された機能であるクリップボードの履歴がExcelマクロが遅くなる原因となっていました。
【解決】Windows10になったらエクセルマクロが遅い、動かない
クリップボードの履歴をオンにして、[CTRL]+[C]等の操作を行ったときに、その履歴がWindowsによって保存される機能ですが、この機能をオンにした場合はExcelマクロの処理速度が遅くなるだけでなく、Excelマクロによるコピー処理が繰り替えされるマクロの場合には、最悪な場合はフリーズしてしまい実行が不能となる不具合が出るものでした。
Excelマクロ中でも、Copyメソッドを実行した場合に手で操作した時と同じように、クリップボードの履歴に影響があったためです。
過去記事での実験では2万行のシートを100シートコピーするまでの時間を計測しました。
クリップボードの履歴をオン:1分3秒
クリップボードの履歴をオフ:9秒
このような結果になっていました。
クリップボードの履歴を残す機能により、マクロとしては余計な処理が動作してしまい、便利機能が残念な処理速度低下を招いた結果です。
Windows11でも同じマクロを実行してみる
Windows11での結果も同様の予想をしております。
OSが新しくなったと言っても、UIが変わっただけの印象だったからです。
Excelマクロのソース
Excelマクロのソースは以前記事のものをそのまま利用します。
Option Explicit
Public Sub SheetCopy()
Dim intLoop As Integer
Dim strMsg As String
Dim datStart As Date
Dim datEnd As Date
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
.DisplayAlerts = False
End With
datStart = Now
For intLoop = 1 To 100
Worksheets.Add after:=Worksheets(Worksheets.Count)
With Worksheets(1)
.Activate
.Range("A1:AX20000").Copy
End With
With Worksheets(Worksheets.Count)
.Activate
.Range("A1").PasteSpecial Paste:=xlPasteValues
End With
Next
datEnd = Now
strMsg = "Start: " & Format$(datStart, "hh:nn:ss") & " End: " & Format$(datEnd, "hh:nn:ss")
Call MsgBox(strMsg)
Debug.Print strMsg
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
.DisplayAlerts = True
End With
End Sub
クリップボードの履歴オン
Windows11の設定からクリップボードの履歴をオンにします。
設定→システム→クリップボードの順に開き、クリップボードの履歴をオンにします。
結果:8秒
以前より早くなっている…。
クリップボードの履歴をオフ
同じ設定のクリップボードの履歴をオンにします。
結果:8秒
クリップボードの履歴をオン、オフの場合でまったく同じスピードでした。
まとめ
Windows10の2019年頃のバージョンでクリップボードの履歴をオンとした場合に、Excelマクロの実行が遅くなっていた現象ですが、クレームがあったのか、さすがに改善をしているようです。
今回の検証では、クリップボードの履歴をオンにした場合でも問題なく実行されるように改善されていることが確認できました。
もしかしたら、最近のWindows10のバージョンでは改善をしていたのかもしれませんね。
せっかくの便利機能をオフにすることなくExcelマクロが実行できるようになったのは良かったです。
しかし、ここ2年でITの環境は着実に変化をしており、Excel、Excelマクロの出番も少なくなりつつあります。
Excelが万能すぎるITツールだったがために数十年も重宝されてきたものですが、組織の中では管理しにくいツールだったのでなくなっていくのは仕方がないですが。
Excelは小規模な組織や個人で利用するツールなのかもしれません。
コメント
[…] Windows11でエクセルマクロは遅くなるのか?クリップボードの履歴をオン […]
by 【解決】Windows10になったらエクセルマクロが動かない遅い | パソコン大好き | nekoca.com 2021年12月20日 8:45 PM
[…] Office365 Windows11でエクセルマクロは遅くなるのか?クリップボードの履歴を… […]
by 解決!Windows10でエクセルマクロの処理が遅い | パソコン大好き | nekoca.com 2022年1月12日 1:31 PM