以前のバージョンのExcelでは、ワークシートでCTRL + Aを押すと、文字通りすべてのセルが選択されました。 Excel 2010(2007または2003については不明)では、値を含むセルのブロック内でCtrl + Aキーを押すと、そのブロック内のセルのみを選択するように見えることがわかりました。たとえば、範囲A1:D10のすべてのセルに値が含まれていて、アクティブセルがその範囲にあるときにCTRL + Aを押すと、A1:D10のみが選択されます。もう一度CTRL + Aを押すと、そのときだけ実際にワークシートのすべてのセルが選択されます。
そのため、マクロを記録して、これを実行するとどのマクロコードが生成されているかを確認しましたが、CTRL + Aを押すと、実際にはRange("A1:D10").Select
が書き込まれます。これは、アクティブセルの周囲の境界を決定するために独自のロジックを記述する必要があるため、動的ではなく制限です。 ActiveCell.End(xlDown)
などのメソッドを使用することは難しくありませんが、ここでホイールを作り直す必要はありません。
ActiveCell.GetOuterRange.Select
などのExcel VBAメソッドはありますか?それはいいね。
あなたができるすべての汚れた細胞のために;
ActiveSheet.UsedRange.Select
または、現在のセルを隣接する方法で隣接するセルの場合は、
ActiveCell.CurrentRegion.Select