• ベストアンサー

行の移動

ボタンを使って行の移動をさせるマクロを組みたいのですが、うまく動いてくれません。指定した行をエクセルシートの最上段に表示させる書式を教えてください。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

#2です。 Sub test01() n = InputBox("第n行目にスクロール") ActiveWindow.ScrollRow = Val(n) End Sub を試してください。

rie3816
質問者

お礼

度々の回答、ありがとうございますm(__)m ”できました!”移動した時には感激でした。どうもありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

これそのものか、または近い機能を下記で実現できます。 たった1行なので、試して見てください。 今問題にしているシートのSelectionChangeイベントを出し Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveWindow.ScrollRow = ActiveCell.Row End Sub とします。 クリックしたセルの行が1番上行に表示されます。 隠れている時は、スクロールして、そのセルを出して、クリックしてください。 コマンドボタンは使いません。

rie3816
質問者

お礼

ありがとうございます! 一番上の行(1行目)を表示したいのではなく、指定した行が画面に表示される一番上の行にしたいのです。私の質問の仕方が悪かったようです。申し訳ありません。 教えて頂いたものは、今後、使わせて頂きます。

すると、全ての回答が全文表示されます。
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 こんな感じかな。 Sub macro()   Dim moveRow As Long   moveRow = 50   With ActiveWindow     .SmallScroll Down:=Range("A1").Value, Up:=.ScrollRow     Cells(.ScrollRow, 1).Select   End With End Sub なお、移動するだけなら、 Cells(.ScrollRow, 1).Select の行は不要です。 (これは、その行のA列のセルを選択するコードです。)

rie3816
質問者

お礼

ありがとうございます。 同じように記述してみたのですが、うまく動いてくれませんでした。バージョンの違いでしょうか?例えば、「このボタンを押すと10行目が画面の一番上の行として表示される」ようなボタンを作りたかったのですが・・・・。無理なのでしょうか? もう少し自分でも調べてみます。ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A