15

以前のバージョンの Excel では、ワークシートで CTRL + A を押すと、文字通りすべてのセルが選択されていました。Excel 2010 (2007 または 2003 については不明) で、値を含むセルのブロック内で CTRL + A を押すと、そのブロック内のセルのみを選択することを認識しているように見えることに気付きました。たとえば、範囲 A1:D10 のすべてのセルに値が含まれており、アクティブ セルがその範囲内にあるときに CTRL + A を押すと、A1:D10 のみが選択されます。もう一度 CTRL+A を押すと、ワークシート内のすべてのセルが実際に選択されます。

そこで、これを実行したときにどのマクロ コードが生成されているかを確認するためにマクロを記録しましたが、実際にはRange("A1:D10").SelectCTRL + A を押すと書き込みが行われます。アクティブ セルの周囲の境界を決定するために独自のロジックを作成する必要があるため、これは制限的で動的ではありません。のような方法では難しくありActiveCell.End(xlDown)ませんが、ここで車輪を再発明する必要はありません。

のようなExcel VBAメソッドはありますActiveCell.GetOuterRange.Selectか?それはいいね。

4

1 に答える 1

32

すべてのダーティ セルに対して、次のことができます。

ActiveSheet.UsedRange.Select

または、現在のセルを連続して囲むセルの場合は、次のことができます。

ActiveCell.CurrentRegion.Select
于 2012-07-18T12:58:03.680 に答える