temp1 = InStr(strInput, "A1:") 'gives a position result
So, why is a position stored in variable named temp1? Why is it not stored in a variable call a1Pos?
temp2 = Mid$(strInput, 1, temp1 + 6) 'put A1: seperator and 4 extra characthers in the string
Now we have a variable called temp2, which implies that the variable is the same kind as temp1. Clearly, it isn't. Surely, there is a more meaningful name you could assign to this bit of information.
What type are temp1, temp2, temp3, and temp4?
What problem are you seeing with the temp4 assignment statement?