For the most part, a programmer is not concerned about the size of the sub types than the variant itself. But to answer your question, there is a fixed number of bytes depending on the system of the variant itself.
As for the actual size used by the variant, I don't know, but I can make an educated guess. If you think of the variant is basically 2 things, 1) a memory address, and 2) some meta data that tells the scripting engine what type that variant is.
Breaking down the pieces that make up a variant.
1st) The memory address size is determined by the number of bits the architecture supports, 32 vs. 64 bit, etc... So the memory pointer to the actual location of the variable might be around. (let's use a 64 bit windows 10 system.)
2nd) There are 13 subtypes that, that requires at least 4 bits of data to track. Round that up to the nearest byte, since it can
3rd) For types like Strings, and arrays, there is a length that the system has to store. VBScript allows 2^31 number of blocks., so that's an additional 32 more bits used.
So basically, you have (8 + 1 + 4) + (number of bytes requires by subtype). So that's what it would require at a minimum.