You're close if I understand what you are attempting to do which is insert into TableB selecting records from TableA where ColumnValue is like the passed in value.
The way you have it now it wants to insert the literal string of Select Columnvalue from TableA where Columnvalue like ?
into your table.
Tweak your statement like this:
INSERT INTO TableB (LoopValue, Columnvalue)
SELECT ?, Columnvalue FROM TableA WHERE Columnvalue LIKE '%' + ? + '%' --% is a wildcard. If you only want those that begin or end then remove one or the other %
Then make sure you're passing in the value twice. Since there are multiple ?
that relates to the number of parameters, but you can pass it twice since you are using the same value in two different places:

Parameter names would then start with 0 and increment up to match the ?
in your statement. Depending on your connection type that could be different, there is a section in the following documentation that tells you what it should be Execute SQL Task