{HOME}でホームキーを押せるけど
CTRL+HOMEはどうするのか?
無理なのかと思ってたら
最近のMSDNオンラインにはこっそりとこう書かれています。
Shift キーを押したまま、E キー、C キーを順に押すには、”+(EC)” と指定します。
https:// msdn.microsoft.com/ ja-jp/ library/ cc364423.asp
つまり、”+({HOME})” なのだそうです。
SendKeys “+({HOME})” と SendKeys “^+({END})” それに DoEvents も
付けるとワークシートの全データを範囲指定できます。
DoEventsが無いと、画面の反映を完了しないので、続きのVBAコマンドが悲しい結果を引き起こします。
また行や列などをロックしている場合、ロックしている範囲は範囲指定できませんので、結局操作マクロの記録結果をそのまま使って
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
で、赤字を外す方が良さそうです。
古いEXCELも同じ操作マクロを記録しますが、そのままマクロを実行すると、ColorIndexに対してxlAutomaticを代入するところで範囲外エラーになってしまいます。これは、WindowsUpdateでxlAutomaticの値が変化してしまったのでしょうね。しょうもないバグですが、直してくれる訳が無いので、自分でxlNoneに書き換えるしかありません。