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


8

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

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

回答:


5

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


これにより、使用しているワークブックの100万行以上が選択されますが、300を超えるものはすべて空白です。
デイブ

方法:Sub LastCellBeforeBlankInColumn()/ Range( "A1")。End(xldown).Select / End Sub

2

これを試して:

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

この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

ここに画像の説明を入力してください


1

Excelのキーボードショートカットを使用できます。Ctrl+を試してくださいHome

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

列の値を選択する必要がある場合は、right arrowボタンの代わりにボタンを使用してくださいdown arrow


0

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

Dim GG as Long
GG = Application.WorksheetFunction.Average(ActiveSheet.Range("B2", Range("B2").End(xlDown)))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.