Here's an idea from an old C programmer, so maybe it will work here also.
Pack the values 1-8 into a larger structure, say char of large length
(say 334000 in your case).
1-8 can be revalued as 0-7, which is 0-111 in binary.
Use software to pack/unpack as desired.
I don't know if VBA has capability to handle bit-fiddling, so maybe this
is all ca-ca.
Also, you can set up a structure using 3-bit elements (again, maybe VBA
will nix this).
At the least, you could cut your RAM net to 500,000 bytes by packing 2
values per char.
Thus, the values 5 and 6 could be packed into a char as 00101110, or 2E hex.