Hi, my name is Ross, I'm a car technician specialising in electronics and hopefully I can help with your question.
Before going any further, check the crank shaft position sensor. these can be tested using an oscilloscope or replace with a known working sensor. They have a tendency of causing very difficult starting/non start but not showing a fault code. With the ignition on/engine off the ECU does not expect a signal from the crankshaft position sensor so will not show a fault code. Effectively, the ECU doesn't know the engine is running. The camshaft position sensor can also cause this, dispite them being a failsafe to each other, this is not always the case in reality.
Next, if you have only checked for fault codes, a much deeper diagnostic check is vital before going further. Live data can be checked, this can sometimes flag up a loss of signal from cam/crank sensors in its self, but other values can be checked such as injection data etc... This can often pinpoint the fault.
If cam/crank sensors are ok, and no faults are visible on further in-depth diagnostics, other than the very least likely (wiring issues / ECU Faults) it would point towards a mechanical problem, so if not already done, a compression test may be a good starting point, then onto the fuel pump, a past miss-fuel or general wear and tear on a fuel pump can cause it to fail and drop pressure to the rail due to lack of suction, a toe start can often get it to go, It should show a fault code, but during short cycle/during OBD readiness checks, many faults will not be stored.
Please feel free to ask if you need further help or have any questions, if your happy with my help, please remeber to provide a rating. Thanks, Ross.