以下で選択できましたが一つ問題があります。
MaxRow = Workbooks("選択対象ブック").Worksheets("選択対象シート").Cells.SpecialCells(xlLastCell).Row
MaxCol = Workbooks("選択対象ブック").Worksheets("選択対象シート").Cells.SpecialCells(xlLastCell).Column
選択対象シートは以下のような作りとなっており、上の式で選択すると【7行、C列】を範囲選択しますが、
項番行はデータがないため、項番を除く、【3行、C列】を範囲選択させたいです。
A列 B列 C列
項番 果物 備考
1行 1 ぶどう
2行 2 バナナ
3行 3 りんご あまい
4行 4
5行 5
6行 6
7行 7
また、最終的には項番も含めてコピーして、別のシートに貼り付ける処理を行うので、いったん項番を削除するのは
できません。(項番にもデータが入っている可能性があるため)
よろしくお願いいたします。
こんな感じでしょうか。
Sub 最後のセルを選択() Set s = Workbooks("選択対象ブック").Worksheets("選択対象シート") ' 対象の列の範囲 col_min = 2 ' B列 col_max = s.Cells.SpecialCells(xlLastCell).Column Dim last_cell Set last_cell = Nothing For r = col_min To col_max Set c = s.Cells(Rows.Count, r).End(xlUp) If last_cell Is Nothing Then Set last_cell = c ElseIf last_cell.Row <= c.Row Then Set last_cell = c End If Next ' データが入ってる最後のセルを選択 last_cell.Select ' 行と列を使うなら... ' maxrow = last_cell.Row ' maxcol = last_cell.Column End Sub
A | B | C | |
---|---|---|---|
1 | 1 | ぶどう | |
2 | 2 | バナナ | |
3 | 3 | りんご | あまい |
4 | 4 | メロン | |
5 | 5 |
こういう場合には、「メロン」(4行, B列)を選択するようにしてます。
空の「備考」(4行, C列)のセルを指したいのであれば、列の指定に col_max (.Cells.SpecialCells(xlLastCell).Column) を使ってください。
' データが入ってる最後のセルを選択 ' last_cell.Select s.Cells(last_cell.Row, col_max).Select
連絡遅くなり申し訳ありません。
2015/08/17 20:11:03内容確認し、動かすことができました!
ありがとうございます