You can use the exec method
declare @tempStr varchar(350)
select @tempStr='Update weekcount set [' convert(varchar,@week) ']=[' convert(varchar,@week) '] 1 where
userid=''' replace(@user,'''','''''') ''''
exec(@tempStr)
Note: Make exec unable to return the value of some variables , and the current variable value is invalid in the exec statement.