- ベストアンサー
VBAコードでボタンクリックにより画面をスクロールする方法とは?
- 質問者は、VBAコードによるボタンクリックで特定の行を先頭にスクロールする方法を知りたいとしています。
- 現在のコードでは、行の挿入によりスクロールする行が変更されてしまうため、特定の行を先頭に保つ方法を求めています。
- 質問者は、指定文字を使用して特定の行を先頭にスクロールするVBAコードを作成したいとしています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>列を変えずに行のみを"江藤"にスクロールしたいのですが? どちらでも Sub 移動3() Dim myRng As Range, strName As String strName = "江藤" With Worksheets("sheet1") Set myRng = .Columns(1).Find(What:=strName, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, MatchByte:=False) If myRng Is Nothing Then MsgBox strName & "は、見つかりません", 16 Exit Sub End If Application.Goto reference:=.Cells(myRng.Row, ActiveWindow.ScrollColumn), Scroll:=True End With End Sub Sub 移動4() Dim myRng As Range, strName As String strName = "江藤" Set myRng = Columns(1).Find(What:=strName, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, MatchByte:=False) If myRng Is Nothing Then MsgBox strName & "は、見つかりません", 16 Exit Sub End If ActiveWindow.ScrollRow = myRng.Row End Sub
その他の回答 (2)
- watabe007
- ベストアンサー率62% (476/760)
こちらも参考に Sub 移動3() Dim myRng As Range, strName As String strName = "江藤" Set myRng = Worksheets("sheet1").Columns(1).Find(What:=strName, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, MatchByte:=False) If myRng Is Nothing Then MsgBox strName & "は、見つかりません", 16 Exit Sub End If Application.Goto reference:=myRng, Scroll:=True End Sub
補足
有難うございます。説明不足で申し訳ありません。 現在ウインドウ枠を固定しており移動3クリックで列が全表示されます。列を変えずに行のみを"江藤"にスクロールしたいのですが? 宜しくお願いします。
- watabe007
- ベストアンサー率62% (476/760)
>指定文字"江藤"を代入してコード・・・ では"江藤"を検索すれば良いかと Sub 移動2() Dim myRng As Range,strName With Worksheets("sheet1") Set myRng = .Columns(1).Find(What:="江藤", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, MatchByte:=False) Application.Goto reference:=myRng, Scroll:=True End With End Sub
お礼
有難うございます。期待通りにスクロールでき作業する上で非常に助かりました。感謝します。