Using Table as a Variable for a Stored Procedure
You would need to use dynamic sql.  You final select line should be:

declare @sql varchar(max)
set @sql = 'select ' + @colName + ' from ' + @TblName
exec(@sql)