アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクティブセルがどの位置にあってもウインドウの行が変わらず列のみを移動できるでしょうか?
ちなみに下記コードではアクティブセルが行(2~20)にある場合、列と同時に行も上に移動します。
どなたかコードが解る方、宜しくお願いします。

Sub 列移動()
Application.Goto reference:=Worksheets("sheet1").Range("E" & ActiveCell.Row), Scroll:=True
End Sub

「行はそのままで列のみをVBAコードで移動」の質問画像

A 回答 (2件)

こんにちは



Sub 列移動()
ActiveWindow.ScrollColumn = ActiveCell.Column
End Sub

では
    • good
    • 2
この回答へのお礼

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

お礼日時:2013/07/11 21:49

こんばんは!


ウィンドウ上に表示されている列数が奇数・偶数によって微妙に違ってきますが、
アクティブセルを画面のほぼ中央に表示したい!という解釈で・・・

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

この回答への補足

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

補足日時:2013/07/11 09:03
    • good
    • 0
この回答へのお礼

有難うございます。

お礼日時:2013/07/11 09:02

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