2017-03-17 17 views
1

解決済み。私は、スプレッドシート内の最後の列と最後の行の範囲を選択できるコードを探していました。いくつかの掘り下げとロジックを使用した後、私は解決策を考え出すことができました。まず、私は次の使用して最後の行を定義した:最後の列と行の範囲を選択するVBAコード

LR = Range("A" & rows.count).end(xlup).row and then I used the following to define last column 

LC= wcolNm(colNum) 

Public function LC= wcolNm(colNum) 

ColNum = Cells(1 & columns.count).end(xltoleft).column 
wcolumn = split(cells(1, column).address, "$")(1) 
End function 

終了状態が続くようになります。

Range("A" & 1 & ":" & LC & LR).select 

私はLCの後に挿入しました。これが混乱しているのであれば謝罪しますが、私はコーディングには新しく、このコードをしばらく探していたので、投稿するのが良いと感じました。必要に応じて詳細を述べます。

+2

ここで質問して回答を投稿することができます。私はこれが以前にも答えられている可能性が高いと思います。 – bernie

答えて

-1

私はこれを簡単に行うことができると信じています。

Dim ws As Worksheet 
Set ws = ThisWorkbook.Worksheets(1) 
ws.UsedRange.Select 

すべてのデータを選択する必要があります:あなたは(あなたの最後の行と列にすなわちA1)のデータのあなたの全体の範囲を選択しようとしている提供するには、次の方法を使用することができます。これはまた、最初のワークシートで作業していることを前提としています。

+0

このメソッドに問題があります。彼が現在の範囲外のセルを過去に使用した場合、そのセルに至るまでのすべての方法を選択します。 – Flibertyjibbet

0

ここで私はそれを一般的にやっています。

Range(Cells(1, Columns.Count), Cells(Rows.Count, 1).End(xlUp)).Select 

あなたは通常、すべてのデータが変更された場合のセルを選択するUsedRangeメソッドを使用する必要はありません。

+0

End(xlUp)を持つ下側は、隠れた行を "見ない"ということです。 – Variatus

+0

オペレーションは私が知る限り、隠れた行について何も言わなかった:) – Flibertyjibbet

関連する問題