VBA自动滚动到指定单元格

VBA自动滚动到指定单元格

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Row = 5 Then
   'If Target.Value = 1 Then
   ' Application.Goto Reference:=Worksheets("Sheet1").Range("U154"), _
   ' scroll:=True
   ' Application.Wait Now + TimeValue("00:00:01")
   ' ActiveWindow.ScrollRow = 10
   ' ActiveWindow.ScrollColumn = 20
   ' End If
   Select Case Target.Value
    Case 1
      FindValue ("1月")
    Case 2
      FindValue ("2月")
    Case 3
      FindValue ("3月")
    Case 4
      FindValue ("4月")
    Case 5
      FindValue ("5月")
    Case 6
      FindValue ("6月")
    Case 7
      FindValue ("7月")
    Case 8
      FindValue ("8月")
    Case 9
      FindValue ("9月")
    Case 10
      FindValue ("10月")
    Case 11
      FindValue ("11月")
    Case 12
      FindValue ("12月")
    Case Else
      FindValue ("1月")
    End Select
    
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

Sub FindValue(finstr As String)
    Dim c As Range
    Dim firstAddress As String

    'With Worksheets("Sheet1").Range("H5:NI5")
    With Range("H5:OE5")
        Set c = .Find(finstr, LookIn:=xlValues, LookAt:=xlWhole, MatchByte:=True)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                ActiveWindow.ScrollRow = c.Row
                ActiveWindow.ScrollColumn = c.Column
                Set c = .FindNext(c)
                Exit Do
            Loop While Not c Is Nothing
        End If
    End With
    
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Row = 5 Then
   'If Target.Value = 1 Then
   ' Application.Goto Reference:=Worksheets("Sheet1").Range("U154"), _
   ' scroll:=True
   ' ActiveWindow.ScrollRow = 10
   ' ActiveWindow.ScrollColumn = 20
   ' End If
   Select Case Target.Value
    Case 1
      Application.Goto Reference:=Worksheets("Sheet1").Range("H5"), _
      scroll:=True
    Case 2
      Application.Goto Reference:=Worksheets("Sheet1").Range("H5"), _
      scroll:=True
    Case 3
      Application.Goto Reference:=Worksheets("Sheet1").Range("H5"), _
      scroll:=True
    Case 4
      Application.Goto Reference:=Worksheets("Sheet1").Range("H5"), _
      scroll:=True
    Case 5
      Application.Goto Reference:=Worksheets("Sheet1").Range("AL5"), _
      scroll:=True
    Case 6
      Application.Goto Reference:=Worksheets("Sheet1").Range("BQ5"), _
      scroll:=True
    Case 7
      Application.Goto Reference:=Worksheets("Sheet1").Range("CU5"), _
      scroll:=True
    Case 8
      Application.Goto Reference:=Worksheets("Sheet1").Range("DZ5"), _
      scroll:=True
    Case 9
      Application.Goto Reference:=Worksheets("Sheet1").Range("FE5"), _
      scroll:=True
    Case 10
      Application.Goto Reference:=Worksheets("Sheet1").Range("GI5"), _
      scroll:=True
    Case 11
      Application.Goto Reference:=Worksheets("Sheet1").Range("HN5"), _
      scroll:=True
    Case 12
      Application.Goto Reference:=Worksheets("Sheet1").Range("IR5"), _
      scroll:=True
    Case Else
      Application.Goto Reference:=Worksheets("Sheet1").Range("H5"), _
      scroll:=True
    End Select
    Application.Wait Now + TimeValue("00:00:01")
End If
End Sub
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值