Error in width
I am using this module in MS Word (in Win 10), similarly to your test example, but putting the image into a ActiveX image control. I am tracking down problems that I am having reading the resultant QR images.
I use a test QR alphanumeric string that repeats your ALPHANUMERIC_CHARSET string until there are the maximum of 4296 characters (last character is "K"). With this string, the code generates a version 40 QR image. However, the image differs from that generated at https://www.nayuki.io/page/qr-code-generator-library
The difference appears to be that VbQRCodegen loses the last column of printable information. ie, the width at some point is too small. The bullseye pattern in the top right appears truncated on the right.
I notice there is a small border at the top, bottom, and left of the image. Not only is there no border on the right but some of the black pixels are missing. Perhaps the raw width was used at some point rather than the raw width + border?
For my test text, Nayuki's page indicates QR Code version = 40, mask pattern = 0, character count = 4296, encoding mode = alphanumeric, error correction = level L, data bits = 23645.
VbQRCodegen image as snipped from the screen. The yellow is the background color of the Active-X image control. So any white pixels are from the generated Image.
Nayuki's QR code for the test text
I'm recreating your QR Code in the test VB6 application using input of
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:0123456789ABCDEFGHIJK
. . . and here is the result
. . . which means that VbQRCodegen does not lose "the last column of printable information" per se but most probably there is some problem with your image rendering code.
Anyway, the sources were originally developed for VB6 and VBA compatibility is a by product of just using PtrSafe on API declares so try to fix any issue you find in VBA land and feel free to send a Pull Request with the fixes.
You can send more VBA samples or add any verbiage necessary for VBA developers to not get too suprised with the results they get.