Я пишу функцию для поиска первой строки, которая имеет другой цвет интерьера (с условным форматированием) над текущей активной ячейкой. Функция работает, когда я распечатываю ее с debug.print
или msgbox
, но не когда я вызываю ее прямо на листе. Первая строка - заголовок, и поэтому я исключаю верхнюю строку.
Public Function blockStart() As Long
Dim currColor As Long
currColor = activecell.DisplayFormat.Interior.ColorIndex
Dim currCol As String
currCol = Number2Letter(activecell.Column)
Dim startRow As Long
startRow = activecell.Row
'Find Ceiling
Do While startRow >= 2
If Range(currCol & startRow).DisplayFormat.Interior.ColorIndex <> currColor Then
startRow = startRow + 1
Exit Do
End If
startRow = startRow - 1
Loop
If startRow = 1 Then startRow = 2 ' at the very top
blockStart = startRow
End Function
Когда я вызываю функцию прямо на листе, #value
запрашивается. Пожалуйста, дайте мне знать, что я делаю не так, спасибо!