I suggest you get in touch with an all-positive trainer in your area. A trainer can help you learn how to handle your dog, and over time and with the correct training, you can overcome these issues.
Don't look for quick fix answers on the internet when it comes to aggressions. You need the one-on-one help of a qualified trainer or animal behaviotist.

Good luck- hope you do the right thing so this Yorkie doesn't have to be re-homed again.