PowerShell, 132132 107 Bytes
$a='$a=;for$a='$a={0}{1}{0};for(){2}$a.substring(0-f[char]39,3)+[char]39+$a+[char]39+$a.substring($a,[char]123,[char]125{3)}';for(){$a.substring(0-f[char]39,3)+[char]39+$a+[char]39+$a.substring(3)$a,[char]123,[char]125}
Based off of the Rosetta Quine (Same as @AdmBorkBork) although doesn't use formatting for string replacement... maybe switching to a for loop and using formatting would be best?
I'm sure if AdmBorkBork came back they would beat this by a lot :P
EDIT Figured out the for loop and replacements, all thanks to my predecessor :)
Old attempt:
$a='$a=;for(){$a.substring(0,3)+[char]39+$a+[char]39+$a.substring(3)}';for(){$a.substring(0,3)+[char]39+$a+[char]39+$a.substring(3)}