День добрый! Вроде бы, элементарная задача: в процессе перебора ячеек диапазона нужно исключить конкретную ячейку, заданную тоже как Range. Сейчас использую сравнение адресов If lookup_value.Address(External:=True) = lookup_array.Cells(txtNum).Address(External:=True) Then
но как-то глупо это выглядит и неэффективно.
День добрый! Вроде бы, элементарная задача: в процессе перебора ячеек диапазона нужно исключить конкретную ячейку, заданную тоже как Range. Сейчас использую сравнение адресов If lookup_value.Address(External:=True) = lookup_array.Cells(txtNum).Address(External:=True) Then
но как-то глупо это выглядит и неэффективно.Формуляр
Да искать-то - ничего не ищу. Мне при поиске максимально похожей текствой строки в массиве нужно исключить строку-образец, в том случае, если она в нём (в массиве этом) содержится. Где массив, а где образец - наперёд неизвестно - это пользовательские аргументы UDF. Вот мне для каждой ячейки массива и надо проверить - не идентична ли она ячейке с искомым образцом. см. Простая метрика сходства текстовых строк
Quote (Саня)
само собой - как можно пересечь два диапазона с разных листов?
А чего бы не вернуть было тот же Nothing? В падлу ему что ли? Application Class как-никак - не какой-нибудь Worksheet.
Да искать-то - ничего не ищу. Мне при поиске максимально похожей текствой строки в массиве нужно исключить строку-образец, в том случае, если она в нём (в массиве этом) содержится. Где массив, а где образец - наперёд неизвестно - это пользовательские аргументы UDF. Вот мне для каждой ячейки массива и надо проверить - не идентична ли она ячейке с искомым образцом. см. Простая метрика сходства текстовых строк
Quote (Саня)
само собой - как можно пересечь два диапазона с разных листов?
А чего бы не вернуть было тот же Nothing? В падлу ему что ли? Application Class как-никак - не какой-нибудь Worksheet. Формуляр
Excel 2003 EN, 2013 EN
Сообщение отредактировал Формуляр - Вторник, 30.08.2011, 00:23
Dim cell As Range Dim r As Range Set r = Range("A2")
dim rIntersection as range on error resume next For Each cell In Selection set rIntersection = Intersect(cell, r) 'if err=0 then ' или if not rIntersection is nothing then Debug.Print cell.Address end if Next cell on error goto 0
[/vba]
ему не в падлу, ему в лом
можа так? [vba]
Код
Dim cell As Range Dim r As Range Set r = Range("A2")
dim rIntersection as range on error resume next For Each cell In Selection set rIntersection = Intersect(cell, r) 'if err=0 then ' или if not rIntersection is nothing then Debug.Print cell.Address end if Next cell on error goto 0
For Each cell In Range("Sheet2!A1:A3") Dim b As Boolean If cell.Address = r Then b = True: Exit For End If Next cell If b Then Debug.Print cell.Address End Sub
[/vba]
[vba]
Код
Dim cell As Range Dim r As String
r = Range("Sheet1!A2").Address
For Each cell In Range("Sheet2!A1:A3") Dim b As Boolean If cell.Address = r Then b = True: Exit For End If Next cell If b Then Debug.Print cell.Address End Sub