If it is of any consolation you are not the first to throw parts at a problem and you certainly won't be the last one.
Modern self diagnostic equipment can make the problem worse. Folks get a code, say one relayed to sensor X, and then buy and replace sensor X. Sensor X was not the problem.