Привет, я новичок в VBA, поэтому заранее прошу прощения, если мой код выглядит плохо. Моя проблема в том, что я хотел бы остановить мерцание экрана при запуске макроса с помощью кнопки. Тем не менее, я пробовал несколько кодов, чтобы решить эту проблему, но безрезультатно. Я попытался Application.ScreenUpdating = False
в начале моего сабвуфера и переключился обратно в True перед завершением сабвуфера, но экран все еще мерцает. Есть ли другое решение для этого? Заранее спасибо!
Код:
Sub UpdateData()
Application.ScreenUpdating = False
Debug.Print Application.ScreenUpdating
Application.DisplayStatusBar = False
Application.Calculation = xlManual
Application.EnableEvents = False
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim EMS As Worksheet
Dim TD As Worksheet
Dim JV1 As Worksheet
Set wb1 = ActiveWorkbook
Workbooks.Open ("HR Headcount Report 2018 Australia SEPTEMBER.XLSX")
Set wb2 = ActiveWorkbook
Set EMS = Sheets("Employee Movement Summary")
EMS.Activate
Range("J19").Copy
wb1.Activate
Range("J34").PasteSpecial xlPasteValues
wb2.Activate
Set TD = Sheets("Turnover Dashboard")
TD.Activate
Range("J44").Copy
wb1.Activate
Range("J2").PasteSpecial xlPasteValues
wb2.Activate
Range("J47").Copy
wb1.Activate
Range("J3").PasteSpecial xlPasteValues
P.S. Это первая половина моего кода. Я подозреваю, что многократное использование .Activate
вызывает проблему. Если это так, как я могу переписать свой код, чтобы избежать использования .Activate
?