Ohh, got it.
This is possible to solve, but the solution can be annoying depending on how in depth you go with it, such as if you include the player being able to step on the switch as well.
Basically what you will have to do is set a variable for the crate's X and Y coordinates every time the player pushes the crate. When the X and Y coordinates are the same as the coordinates for the switch, then make the switch animate to be pressed in and open the door.
For example, let's assume that the switch is at the coordinates (10,8). Then our event window for the crate would look something like:
Â
(Activate upon Action Button)
Â
-Move away from hero
-Variable 001: Crate X = (crate event's X coordinate)
-Variable 002: Crate Y = (crate event's Y coordinate)
If Crate X == 10
  If Crate Y == 8
    (animate the switch to press in)
    (open the door)
  end if
end if
Â
Note that this is fairly easy to do when there is one crate and one switch, however if you start adding more switches and more crates, then things get ugly because you will have to implement all possible combinations of crates and switches. Therefore, I'd really only recommend to have one crate and one switch per map.
Hopefully that helps.