Excel Application.Goto目标单元格不在视图中
我创建了一个简单的Excel宏,当用户单击工作表(工作表1)中的某个单元格时会触发该宏。基本上,宏获取单击的单元格的值,并在单独的工作表(工作表2)中选择具有相同值的目标单元格 问题是,在定向到工作表2后,大约20%的时间目标单元格会高亮显示,但只是看不见,我必须向下滚动几行才能看到它。我希望能够确保在用户被定向到目标单元格后,目标单元格始终在视图中,但我不确定如何实现这一点 这是Excel 2016Excel Application.Goto目标单元格不在视图中,excel,vba,Excel,Vba,我创建了一个简单的Excel宏,当用户单击工作表(工作表1)中的某个单元格时会触发该宏。基本上,宏获取单击的单元格的值,并在单独的工作表(工作表2)中选择具有相同值的目标单元格 问题是,在定向到工作表2后,大约20%的时间目标单元格会高亮显示,但只是看不见,我必须向下滚动几行才能看到它。我希望能够确保在用户被定向到目标单元格后,目标单元格始终在视图中,但我不确定如何实现这一点 这是Excel 2016 Private Sub Worksheet_SelectionChange(ByVal Tar
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column = 1 Then
If Target.Cells.Count = 1 Then
Application.ScreenUpdating = False
Dim c As Range
Dim ans As String
Dim Lastrow As Long
ans = ActiveCell.Value
Lastrow = Sheets("worksheet2").Cells(Rows.Count, "A").End(xlUp).Row
For Each c In Sheets("worksheet2").Range("A2:A" & Lastrow)
If c.Value = ans Then Application.Goto Reference:=Sheets("worksheet2").Range(c.Address): Exit Sub
Next
End If
End If
Exit Sub
End Sub
您可以使用“查找”在sheet2中查找所选项目,然后只需选择工作表和找到的单元格
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim s As Range
If Target.Column = 1 Then
Set s = Worksheets("Sheet2").Range("B:B").Find(what:=Target, lookat:=xlWhole)
If Not s Is Nothing Then
Worksheets("Sheet2").Activate
s.Select
Else: MsgBox Target.Value & " is not found in sheet 2"
End If
End If
End Sub
Goto
有一个可选的滚动条
argumentFYI-表格(“工作表2”)。范围(c.Address)
与c
相同-您从一个范围开始,获取其地址,然后将其转换回一个范围…感谢您提供的信息。此代码肯定比我的更好,谢谢。