A recent Windows update is causing VBA code to fail in Excel, Access and other VBA parts of Office.
The culprit isn’t Office, but the version of Windows that it’s running on. After the 2019-08 Cumulative Update KB4511553 is applied, some VBA code will stop working. The patch bug is in Windows 10, 8.1 and 7 plus Windows Server editions (list below).
Not all VBA code is affected. Only code with an empty parameter being passed as a Variant or a null array is passed. That’s hardly unusual and should not cause an error.
Chris John found the error and identified the cause in a refreshingly clear and detailed forum post. After getting the usual forum run-around from people who hadn’t read his message (e.g. irrelevant talk about versions of Office) a Microsoft escalation engineer posted a confirmation that the bug was in the security update and they were working on a fix.
The next day, Microsoft confirmed the bug in their list of ‘known issues’ aka bugs in Windows.
“ After installing KB4512508, applications that were made using Visual Basic 6 (VB6), macros using Visual Basic for Applications (VBA), and scripts or apps using Visual Basic Scripting Edition (VBScript) may stop responding and you may receive an “invalid procedure call error.””
Better communication than usual
A forum poster noted to the Microsoft engineer:
“Thanks for the rare update from inside the castle. “
Absolutely! Too often Microsoft deliberately keeps known bugs to themselves until the fix is available. In the meantime, customers waste time and money.
The single authoritative post was not only welcome but saved a lot of hassle for Office and VBA users around the world. Bravo!
The ‘softie replied
“ I apologize for the historical behavior of “the castle” not communicating. We’re trying to change that. “
We can only hope so. The current Microsoft policy is an insult to customers and incredibly short-sighted. Only rarely do Microsoft staff treat their customers like adults and admit to problems.
Office or Windows
You might be surprised that a Windows update causes an Office VBA problem.
The source of the bug is oleaut32.dll
which is a Windows component, not Office.
Most people would think that the bug was in Office. That makes Chris John’s original report so impressive. It was detailed to the point of identifying the Windows update as the culprit – nice detective work.
Which Windows are affected?
Here’s a list of the Windows versions and KB articles affected by the VBA bug:
RS1 – Windows 10 1607 and Windows Server 2016 4512517
RS2 – Windows 10 Version 1703 4512507
RS3 – Windows 10 Version 1709 4512516
RS4 – Windows 10 version 1803 or Windows Server Version 1803 4512501
RS5 – Windows 10 version 1809 4511553
19H1 (1903) – Windows 10, version 1903 4512508
TH1 (1507/RTM) 4512497
Monthly Rollup Win 8.1 and Win Server 2012 R2 4512488
Sec. Only Win 8.1 and Win Server 2012 R2 4512489
Monthly Rollup Win Server 2012 & Windows Embedded 8 Standard 4512518
Sec. Only Win Server 2012 & Windows Embedded 8 Standard 4512482
Monthly Rollup Win 7 SP1 and Win Server 2008 R2 SP1 4512506
Sec. Only Win 7 SP1 and Win Server 2008 R2 SP1 4512486
Monthly Rollup Win Server 2008 SP2 4512476
Sec. Only Win Server 2008 SP2 4512491