My solution for this kind of problem is to use Libre or OpenOffice Calc. First of all check if your FID column is intact and correct (you'll need it to restore the attribute file to its original order if you resort the dbf table in Calc - otherwise the features will have the wrong data attached afterwards).
Create a Backup of the dbf, just in case.
Then, just open the dbf-file in Calc (don't forget to use the right codepage setting when opening the file, otherwise you might lose umlauts etc.), do whatever you want to do, e.g. autofill a column with data via vlookup(), and save the file again as dbf.
Check the result in QGIS, but everything should work just fine now.