2016-12-28 6 views
0

定義された範囲から最後のセルの位置を見つける方法は?セルにはデータが含まれている必要はありませんが、特定の範囲の最も右から最下位のセルでなければなりません。範囲から最後のセルを探すVBA

Set rngOrigin = wksOrigin.Cells(IntFirstRow, IntFirstColumn).CurrentRegion 

は、私は次の

rngOrigin.End(xlDown).End(xlRight) 

を試したり、CurrentRegionを使用して、行と列をカウントし、あなたのケースではOffset

+0

が、これは単純なケースのために働くことがありますhttp://www.cpearson.com/excel/cells.htm set myrange = Range( "A1:A10")の場合と、そのリンクのものを使って範囲をインデックス化し、myrange.Rows.Countを使用する場合 – barlop

答えて

0

を受けたいですあなたがあなたの012で最も右に、そして下に細胞を見つけたいので(ワークシートとして定義されています)、SpecialCells(xlCellTypeLastCell)を使用して、最後のセルの行と列を取得できます。

i = wksOrigin.Cells.SpecialCells(xlCellTypeLastCell).Row ' <-- get last row number 
j = wksOrigin.Cells.SpecialCells(xlCellTypeLastCell).Column ' <-- get last column number 

あなたの結果をデバッグする場合は、追加することができます。

MsgBox "Last row at " & i & ", last column at " & j 
0

を使用することができます

Cells(i,j) 
+1

範囲全体のワークシートではなく、現在のリージョンである最後のセルを検索します。現在の領域を超えているデータがワークシートに含まれている場合、それらを含めることは望ましくありません。 – Fajka

+0

定義された範囲は何ですか? –

1

は、多分あなたは、この後にしている:

'absolute indexes from cell A1 
With rngOrigin 
    i = .Rows(.Rows.count).row 
    j = .Columns(.Columns.count).Column 
End With 

'relative indexes from rngOrigin upleftmost cell 
With rngOrigin 
    i = .Rows(.Rows.count).row - .Rows(1).row + 1 
    j = .Columns(.Columns.count).Column - .Columns(1).Column + 1 
End With 
0

私はコードの下にそれを取り扱うが、あなたの発言でした役に立ったありがとうございました。

intLastRow = rngOrigin.Cells(1, 1).Row + rngOrigin.Rows.Count - 1 
intLastCol = rngOrigin.Cells(1, 1).Column + rngOrigin.Columns.Count - 1 
+0

あなたは私の "絶対"コードを採用すべきであり、両方とも 'rngOrigin'を繰り返さないようにして、より適切な範囲指定を使用してください。 – user3598756

-1

あなたが定義された範囲の絶対的な最後のセルをしたい場合は、関係なく、それは任意のコンテンツを持っているかどうかに、ここでは簡単な解決策

Dim InputRng As Range 'define a range for the test' 
Set InputRng = Range("$F$3:$F$15") 
MsgBox InputRng(1).Address & ":" & InputRng(InputRng.Cells.Count).Address 'This would output the absolute address of defined range' 

enter image description here

+0

このリンクは質問に答えるかもしれませんが、参照のためのリンクを提供する。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューの投稿](レビュー/低品質の投稿/ 18793890) – Dez

+0

@Dez:ヒントありがとう、私は時間があるときにそれを行うだろう。 –

+0

@私はデズに返事をしたように、私は時間があるときにやっています。私は同様の機能を実行するExcelのUDFに取り組んでいます。最初にスタックをチェックしましたが、私の場合は役に立たない答えが見つかりませんでした。結局、私は自分の答えにリンクした別のウェブサイトから解決策を得ました。私はそれをテストし、それはうまくいく。 –

関連する問題