dポイントプレゼントキャンペーン実施中!

Sub 最終行移動()
'
Selection.End(xlDown).Select
End Sub


で最終行がアクティブになるのですが
画面は移動しません。

A1をアクティブにした状態で
「最終行移動」のマクロを実行したら
最終行のA100がアクティブになるのですが
画面はそのままです。
(データは増えていくため、A○○になる)

「最終行を画面内に入れる」と言うコードが知りたいです。よろしくお願い致します。

A 回答 (4件)

#1です。



Sub マクロ1()
Range("A1").End(xlDown).Activate
End Sub
これでいけました。実行確認済みです。

Selectは洗濯するだけど、Activateだとアクティブになる(値を変更したりできる)ようになります。

質問者様がSelectionを使っているのに理由があるのか知りませんが、
そのばあい

Selection.End(xlDown).Activate
デいけると思います。ExcelVBA辞典でしっかり調べましたから
大丈夫です。
    • good
    • 0
この回答へのお礼

再度ご回答ありがとうございます。
試して見たら出来ました。
わざわざ調べて頂いてスイマセン。
大変参考になりました。ご回答ありがとうございます。

お礼日時:2007/10/23 16:12

Sub test01()


Range("B65536").End(xlUp).Select
d = Range("B65536").End(xlUp).Column
Application.Goto Reference:=Selection.Offset(-2, -d + 1), scroll:=True
' Application.Goto Reference:=Worksheets("Sheet1").Range("A20"), scroll:=True
End Sub
判別した列で最下行が左上隅のセルに来てよいなら
Application.Goto Reference:=Selection, scroll:=True
A列が左で、最終行より2行上が左上隅のセル場合
上記コード
一定のセルが左上隅のセル場合
上記の’をつけた行のコード。
    • good
    • 0
この回答へのお礼

大変参考になりました。ご回答ありがとうございます。

お礼日時:2007/10/23 15:58

こんにちは。



>最終行がアクティブになるのですが画面は移動しません。
たとえば、画面に出ている行数内の移動なら、画面は移動しません。

しかし、Select を使って、アクティブになれば、
「最終行を画面内に入れる」になっているはずです。

Selection.End(xlDown).Select

というのは何かの間違いではありませんか?
画面が動かないことはありません。

また、たとえば、このような方法があります。

Sub Test1()
 '目的のセルが、必ず、画面の左上端になる方法
 Application.Goto Range("A1").End(xlDown), True
End Sub
    • good
    • 0
この回答へのお礼

「画面を固定」をしてました  汗
大変参考になりました。ご回答ありがとうございます。

お礼日時:2007/10/23 14:27

http://t_shun.at.infoseek.co.jp/My_Page/Excel-VB …の画面のスクロールという章に詳しく書かれています。

行数がわかっていれば↓でいけるでしょう。
ActiveWindow.SmallScroll down:=2

行数を調べるには
gyousuu = Range("A1").End(xlDown).Row

です。http://t_shun.at.infoseek.co.jp/My_Page/Excel-VB …より。ですから
gyousuu=Range("A1").End(xlDown).Row
ActiveWindow.SmallScroll down:=gyousuu
でいいんじゃないかと。

動作確認していないので検証はお願いします。
    • good
    • 0
この回答へのお礼

よく読んでみます。
大変参考になりました。ご回答ありがとうございます。

お礼日時:2007/10/23 14:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!