This is possible with a two-dimensional array. The letter is one dimension, and the line is another (where a letter is made up of multiple lines like the above) For instance:
Sub BuildAsciiWrite(strInput As String)
Dim Ascii(1 To 26, 1 To 7) As String
'Filling this array will take a lot of code, only showing H and I for demo purposes
'Ascii(8, x) is H, because H is the 8th letter
Ascii(8, 1) = "HHH HHH "
Ascii(8, 2) = "HHH HHH "
Ascii(8, 3) = "HHH HHH "
Ascii(8, 4) = "HHHHHHHHHH "
Ascii(8, 5) = "HHH HHH "
Ascii(8, 6) = "HHH HHH "
Ascii(8, 7) = "HHH HHH "
'Ascii i, 9th letter
Ascii(9, 1) = "IIIIIIIIIII "
Ascii(9, 2) = " III "
Ascii(9, 3) = " III "
Ascii(9, 4) = " III "
Ascii(9, 5) = " III "
Ascii(9, 6) = " III "
Ascii(9, 7) = "IIIIIIIIIII "
'etc
'notice I added some space to keep letters a bit separate visually
'Now you need some loops to put together your output string
Dim strOutput As String, charNum As Long
For y = 1 To 7 'height
For x = 1 To Len(strInput)
'Getting the 1-26 number
charNum = InStr(1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", UCase(Mid(strInput, x, 1)))
'Alternatively you could use the Asc() function
'and make your input array line up with ascii character codes
'and so have both uppercase and lowercase, plus punctuation and things
'depends how much effort you want to put into this ;)
strOutput = strOutput & Ascii(charNum, y)
Next
strOutput = strOutput & Chr(13) 'new line
Next 'Height
Debug.Print strOutput
End Sub
Sub Test()
Dim MyInput As String
'MyInput = Inputbox("Input HI")
MyInput = "HI"
BuildAsciiWrite MyInput
End Sub