在表单上我使用ComboBox搜索文本范围并返回该行值。然后将ScrollBox值设置为行值。我的最小行值为5,最大值由row.count完成,恰好是28.当我运行代码时,ScrollBar工作正常,直到我的值超过23,scrollbar.value重置为7并从头开始再次。使用组合框来设置行值也有同样的问题,我无法搜索整个文本范围。
这是我的代码:
Private Sub ScrollBar1_Change()
g = ScrollBar1.Value
StrtComboBox.Value = Sheets("Main").Cells(g, 6).Value
Plyr1Lbl.Caption = Sheets("Main").Cells(g, 7).Value
Plyr2Lbl.Caption = Sheets("Main").Cells(g, 8).Value
Plyr3Lbl.Caption = Sheets("Main").Cells(g, 9).Value
Plyr4Lbl.Caption = Sheets("Main").Cells(g, 10).Value
TextBox9.Value = ScrollBar1.Value
TextBox10.Value = ScrollBar1.Max
End Sub
Private Sub StrtComboBox_Change()
Sheets("Main").Activate
LastHoleRow = Sheets("Main").Cells(Rows.Count, 6).End(xlUp).Row
Names.Add Name:="Holes", RefersTo:=Range("F5:F" & LastHoleRow)
Dim BoxValue As Range
With Range("Holes")
Set BoxValue = .Find(StrtComboBox.Value)
If BoxValue Is Nothing Then
Else
ScrollBar1.Value = BoxValue.Row
End If
End With
End Sub
答案 0 :(得分:1)
您正在搜索8A
并希望在F24
中找到它,但可以在F7
中找到它,其值为18A
(从{{1}开始) }可以在字符串8A
)中找到。
修复应该很简单。 18A
方法具有.Find
参数,用于确定是否必须进行完全匹配。所以只需改变
.LookAt
到这个
Set BoxValue = .Find(StrtComboBox.Value)