• ベストアンサー

行はそのままで列のみをVBAコードで移動

アクティブセルがどの位置にあってもウインドウの行が変わらず列のみを移動できるでしょうか? ちなみに下記コードではアクティブセルが行(2~20)にある場合、列と同時に行も上に移動します。 どなたかコードが解る方、宜しくお願いします。 Sub 列移動() Application.Goto reference:=Worksheets("sheet1").Range("E" & ActiveCell.Row), Scroll:=True End Sub

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

こんにちは Sub 列移動() ActiveWindow.ScrollColumn = ActiveCell.Column End Sub では

kuma0220
質問者

お礼

有難うございます。大変助かりました。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! ウィンドウ上に表示されている列数が奇数・偶数によって微妙に違ってきますが、 アクティブセルを画面のほぼ中央に表示したい!という解釈で・・・ Sub 列移動() Dim centCol As Long, myCol As Long centCol = ActiveWindow.VisibleRange.Cells(1, 1).Column + _ ActiveWindow.VisibleRange.Columns.Count / 2 myCol = Selection.Column If myCol <= centCol Then ActiveWindow.SmallScroll , toleft:=centCol - myCol Else ActiveWindow.SmallScroll , toright:=myCol - centCol End If End Sub こんな感じではどうでしょうか?m(_ _)m

kuma0220
質問者

お礼

有難うございます。

kuma0220
質問者

補足

確かにボタンクリックで画面がスクロールしアクティブセルが中央付近にきました。 現在"B2"セルでウィンドウ枠固定にしてるのですがアクティブセルがどの位置にあっても行はスクロールせず左端をE列にスクロールさせたいのですが。

関連するQ&A