行2(ヘッダー行がある)から始まる列全体に対応する範囲にアクセスするにはどうすればよいですか?
選択の終わりは、列の最後の空でないセルでなければなりません。
Microsoftサポートの記事を参照してくださいExcelでVisual Basicの手順を使用してセル/範囲を選択する方法、# 19(列内の隣接するセルの範囲全体を選択する方法)。
これを参照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
これを試して:
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
Excelのキーボードショートカットを使用できます。試す Ctrl + Home。
これにより、セルA1が表示されます(フリーズウィンドウを使用していない場合)。セルを1つ下げてから、 Ctrl + Shift + Down arrow 最後に入力した行まで選択するボタン。
列の値を選択する必要がある場合は、 right arrow の代わりにボタン down arrow ボタン。
このコードは、セル「B1」のヘッダーを含むヘッダー以外のすべてを平均化します
Dim GG as Long
GG = Application.WorksheetFunction.Average(ActiveSheet.Range("B2", Range("B2").End(xlDown)))