Step 1: Identify the given circle.
The equation
\[
x^2+y^2-4y=0
\]
can be written as
\[
x^2+(y-2)^2=4
\]
Thus, the given circle has centre
\[
(0,2)
\]
and radius
\[
2
\]
Step 2: Use the condition of touching circles.
Suppose the required circle has centre \((h,k)\) and radius \(r\).
Since its diameter is \(R\),
\[
R=2r
\]
The circle passes through \((4,5)\), so
\[
\sqrt{(h-4)^2+(k-5)^2}=r
\]
Also, since it touches the given circle externally or internally,
\[
\sqrt{h^2+(k-2)^2}=r+2
\]
or
\[
\sqrt{h^2+(k-2)^2}=|r-2|
\]
Step 3: Use geometric interpretation.
The point \((4,5)\) lies at distance
\[
\sqrt{4^2+(5-2)^2}
=
\sqrt{16+9}
=
5
\]
from the centre \((0,2)\) of the given circle.
For touching circles passing through this point, the possible radius values satisfy
\[
\frac{5-2}{2}\leq r\leq \frac{5+2}{2}
\]
\[
\frac{3}{2}\leq r\leq \frac{7}{2}
\]
Since
\[
R=2r,
\]
multiplying throughout by \(2\),
\[
3\leq R\leq 7
\]
Step 4: Final conclusion.
Therefore,
\[
\boxed{3\leq R\leq 7}
\]