Randomly changing parts is the hard and EXPENSIVE way to diagnose this problem.
This could be caused by the anti-theft system, it could be caused by shorted reference voltage circuits to your cam, crank, mass airflow, map or throttle position sensors. This could be caused by missing ignition voltage at the ignition coil. This could be caused by shorted control circuits between the powertrain control module and the ignition coil, etc., etc., etc.
The
FIRST thing that should be done is to scan your powertrain control module (PCM) as well as your generic electronic module (GEM) and your instrument panel module (IPC) to see if there are any fault codes present. If there is a P1260 code for example, this would indicate that your antitheft system is the cause of the "no-spark" condition. In this case, you would diagnose your antitheft system,
NOT your engine control system. Please note that MOST generic OBD code readers CANNOT do all of this.
Please also review this article:
What Else Could Be Wrong?