获取事件的价值位置

时间:2015-08-04 18:49:29

标签: vba excel-vba event-handling excel

你好我一直试图找到最好的方法来做到这一点,不幸的是我采取的步骤并没有给我我希望的结果。我想创建一个突出显示单元格的事件,但前提是它位于特定范围内。现在棘手的部分是,范围可以根据我创建的按钮显示的信息而改变。例如,我有A1,A2,按下按钮后,范围可以变为A1..A5。我不希望单元格A6例如被突出显示,因为这里没有信息或者那里的信息无关紧要。这是我到目前为止所做的,但目前在循环内的INSTR函数上接收应用程序定义或对象定义错误。我在这个事件的类中创建了以下内容:

Private Sub m_wb_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer
Dim startpos As Integer
Dim Endpos As Integer
For i = 0 To 50
    If (InStr(m_wb.Sheets("sheet1").Cells(i, 5).Value, "multiplier") > 0) Then startpos = i
    If (InStr(m_wb.Sheets("sheet1").Cells(i, 5).Value, "total") > 0) Then Endpos = i
Next i
If Sh.name = "Sheet1" And (Target.Column = 7 Or Target.Column = 2 Or Target.Column = 3) And Not IsEmpty(m_wb.Sheets("sheet1").Cells(3, 1).Value) And Target.Row > startpos - 1 and Target.Row < Endpos Then Target.Interior.Color = vbYellow
End Sub

1 个答案:

答案 0 :(得分:2)

“行值不能为0,因此您收到该错误” - @SiddharthRout