If you do not need anything special, then try the eternal row_number:
;
with Q as
(
select *, row_number() over (partition by Menu, VouNo order by RevNo desc) rn
from #temp
)
select Menu, VouNo, RevNo, UserName
from Q
where rn = 1
order by Menu, VouNo