Which is correct?
This is the moment where he has been waiting for
This is the moment when he has been waiting for
Can someone please explain
A moment is not a place, so it cannot be where.
Now, a moment can be a place in time, so when would seem to be obvious. You could use it about a moment in other sentences, like:
That's the moment when you'll realise what really matters to you.
However, in this case, it's just not used. The idiomatic sentence would be:
This is the moment that he has been waiting for.
However, there's no need for any preposition. It's optional. You could just say:
This is moment he has been waiting for.