First: Displaying "10.12.13.24"
Remember you're using quotes (") to delimit the string.
that is kind-of like opening and closing parenths "()"
the first indicates the beginning of the string:
txtShow.Text = "
the second occurence indicates the end of the string:
txtShow.Text = "The machine's IP address is "
the compiler gets confused when trying to evaluate the data following
the closing parenthesis:
txtShow.Text = "The machine's IP address is "10.12.13.24
To include "embedded" quotes, use two:
txtShow.Text = "The machine's IP address is ""10.12.13.24""."
Next:
You're not going to get away with including the vbnewline in some manner.
You COULD save the double-newline as:
DL = vbnewline & vbnewline
Next, you could save the text in a string variable:
MsgStr = "The machine's IP address is """ & IPAddr & ""."
MsgStr = MsgStr & DL & "I love this IP."
txtShow.Text = MsgStr
but calling txtshow.txt twice will result in two userforms being launched,
not
concatenating into one.