This sort of works, if it is what you are looking for.
X is the variable you start with on (0, 1) and rho is the desired correlation
If rho>0 then make Y = rho*X + sqrt(1-rho^2)*Z where Z is uniform (0, 1)
Y is now correlated with X with correlation rho. Y is on (0, sqrt(2)) and can be scaled...