You need more than a type, especially if you want it accurate.
Once you've decided how to represent it, you'd have to write all the operations you need for it. VB really does n't lend itself to this.
No operator overloading for instance.
Probably one of the most used methods for high accuracy is BCD (Binary Coded Decimal).
An unsigned integer in VB6 will hold 8 digits in BCD. One per each four bits. So you'd need an array of at least seven (eight would be neater).
Then you'd have to write functions for each operator you required. If you search for BCD and big numbers you'll get more tips. I did this as exercise in representaion many many years ago in pascal, once you've got the idea of BCD and come up with a strategy for storage, it's not particularly diificult if you go the long way round and remember multipication is repeated addition. Oh and you'll need to store to more than three decimal places even if that's the maximum level of precision you want if you are doing any form of division such as multiplying by a single or double. If I was doing this in VB, I'd be using a class not a type.