指定のワークシートの最終行の一つ下のセルを取得したいです

補足

補足です。 最終一個下のセル位置を変数に代入したいです。 A3から下は途中に空白を挟んでいません Dim SAIGOCELL as Range With Worksheets("Sheet2") Range("A3").End(xlDown).Select ActiveCell.Offset(1, 0).Select Set SAIGOCELL = ActiveCell END with としています。 初心者質問で申し訳ないのですが、Withで挟んでいる間は、ずっと「Worksheets("Sheet2")」が適用されるのではないのですか?

Excel50閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0

>ずっと「Worksheets("Sheet2")」が適用されるのではないのですか? 先頭に.(ピリオド)がないとアクティブシートが対象になります Worksheets("Sheet2").Range("A3").End(xlDown).Offset(1, 0) ↑をオブジェクト変数に代入

ThanksImg質問者からのお礼コメント

「.」が必要なんですね。 助かりました。ありがとうございます。

お礼日時:10/19 17:51

その他の回答(3件)

0

ID非公開

2021/10/19 17:51

Withステートメントの中身(2・3行目)の最初に「.(ドット)」入れてください。 Set〜の行はWithの中では動かないかと… With Worksheets("Sheet2") .Range("A3").End(xlDown).Select .ActiveCell.Offset(1, 0).Select End with Set SAIGOCELL = ActiveCell

0

End(xlDown) では 途中が 空白の場合 最終行になりません A列の最終行なら SHEET2.SELECT 最終行=CELLS(ROWS.COUNT,"A").END(XLUP).ROW で でます この場合 途中が 空白であっても 一番下の行Noが 出ます。 したがってその下のなら R=CELLS(ROWS.COUNT,"A").END(XLUP).ROW+1 これで 最終行の下の行Noが Rになりますから CELLS(C,"A")で A列の最終行の下のセルを選択します。

0

②③でシートを指定していないからでは? そもそも「セル」の何を「取得」するのかが不明です。 本当にいちいち「Select」する必要はありますか?