在Excel中设置滚动条值时出现ComboBox错误

时间:2017-03-02 23:07:45

标签: excel-vba vba excel

在表单上我使用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

Main Sheet

UserForm

1 个答案:

答案 0 :(得分:1)

您正在搜索8A并希望在F24中找到它,但可以在F7中找到它,其值为18A(从{{1}开始) }可以在字符串8A)中找到。

修复应该很简单。 18A方法具有.Find参数,用于确定是否必须进行完全匹配。所以只需改变

.LookAt

到这个

Set BoxValue = .Find(StrtComboBox.Value)