Have a look at your GetTens function. You currently have
Select Case Val(TensText)
Case 10 To 19
Result = "Ten"
A starting point would be to actually enumerate all the teens ...
Select Case Val(TensText)
Case 10
Result = "Ten"
Case 11
Result = "Eleven"
Case 12
Result = "Twelve"
etc...
Your next problem is getting "15 Thousand" instead of "150 Thousand". Hint - have a look at your GetHundreds function and its call ... 100 only has 2 zeroes - you're handling 3