web-dev-qa-db-ja.com

Excelマクロで列全体からヘッダー行を差し引いたものを選択する

行2(ヘッダー行がある)から始まる列全体に対応する範囲にアクセスするにはどうすればよいですか?

選択の終わりは、列の最後の空でないセルでなければなりません。

8
Dave

Microsoftサポートの記事を参照してくださいExcelでVisual Basicの手順を使用してセル/範囲を選択する方法、# 19(列内の隣接するセルの範囲全体を選択する方法)。

5
Molly7244

これを参照SO答え 、唯一の安全なメソッドは.find()メソッドです。
以前に一部のセルを削除した場合、他のすべての方法では誤った結果が生じる可能性があります。

最後のセルを取得する例

Lastrow =  Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Lastcol =  Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column

そして、質問に対する具体的な回答(データが列2にあり、行2から始まると仮定)

Range([B2], [B:B].Find("*", [B1], , , xlByRows, xlPrevious)).select

enter image description here

2
nixda

これを試して:

Range(Range("A2"),Range("A2").End(xldown)).Select

またはこれ:

Range(Range(Cells(2, 1), Cells(2, 1)), Range(Cells(65535, 1), Cells(65535, 1)).End(xlUp)).Select
2
Michael Galos

Excelのキーボードショートカットを使用できます。試す CtrlHome

これにより、セルA1が表示されます(フリーズウィンドウを使用していない場合)。セルを1つ下げてから、 CtrlShiftDown arrow 最後に入力した行まで選択するボタン。

列の値を選択する必要がある場合は、 right arrow の代わりにボタン down arrow ボタン。

1
Varun L V

このコードは、セル「B1」のヘッダーを含むヘッダー以外のすべてを平均化します

Dim GG as Long
GG = Application.WorksheetFunction.Average(ActiveSheet.Range("B2", Range("B2").End(xlDown)))
0
RWB