2015-08-04 2 views
1

Здравствуйте, я пытаюсь найти лучший способ сделать это, и, к сожалению, шаги, предпринятые мной, не дали мне результатов, на которые я надеялся. Я хотел бы создать событие, которое выделяет ячейку, но только если оно расположено в определенном диапазоне. Теперь сложная часть состоит в том, что диапазон может меняться в зависимости от информации, отображаемой с помощью кнопки, которую я создал. Например, у меня есть 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 
+2

Значение строки не может быть '0' и, следовательно, вы получаете эту ошибку –

+0

@SiddharthRout Удивительно, что было легко, спасибо за вашу помощь! – paul590

ответ

2

«Значение строки не может быть 0 и, следовательно, вы получаете эту ошибку» - @SiddharthRout

Смежные вопросы