結論からいうと
これ↓。
Excel で VBA の WorkSheets.Copy メソッドを使ってシートコピーを行うとセルの書式が引き継がれない場合がある - Microsoft公式
しょうもないやらかし
解決策:
#,##0;[赤](#,##0)
これ使えって書いてあるけど使ってるよ!
と思ってたらこれ↓になってた。
#,##0_);[赤](#,##0)
なにこれ?と思ったら会計系の書式↓から通貨記号取ったやつだったのでした。
$#,##0_);[赤]($#,##0)
おそまつ。