maybe you could try one of your wallet backups,
they are automatically generated regularly inside your data directory/backups
just replace your current wallet.dat with one of the backups and try that.
,
another option is to dump your private keys,
remove your current wallet.dat from the data directory - the wallet will now generate an empty and new wallet on startup,
then import your private keys.
- when i'm messing around like this, i generally copy the entire data directory for a total backup,
this can then be used to replace anything i do.
back up wallet didn't work so were are the private keys so i can copy and dump?
you need your address with the coins in,
go to debug console and enter
dumpprivkey xxxyouraddressherexxx
this will output a bigger string,
restart with an empty wallet and import key/s via debug console
importprivkey xxyourprivatekeyherexxx
this can take a while as the wallet rescans the blockchain for the new address,
if you have lots of keys you can make it wait before rescan
the full expected format of that command is (this output is from the honey wallet but it is the same):
importprivkey [label] [rescan=true]
to make it wait tell it false until your final key, you can either give each address a label or leave it blank (example below uses "" which results in an empty label).
importprivkey xxyourprivatekeyherexxxone "" false
importprivkey xxyourprivatekeyherexxxtwo "" false
importprivkey xxyourprivatekeyherexxxthree "" true
again my general approach is to first copy the entire data directory for a total backup,
this can then be used to replace anything i do.