Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Нежелательный пересчет текущего листа при работе функции FuzzyVLOOKUP
 
Здравствуйте!
После вставки функции FuzzyVLOOKUP, каждый раз когда фильтрую данные или удаляю строки идет пересчет листа, и это тормозит работу. Как можно ускорить работы функции FuzzyVLOOKUP.
Можно ли дописать макрос?

Код
Public Function FuzzyVLOOKUP(Искомое_Значение As Range, Словарь As Range, Значение_или_индекс As Boolean, Optional Процент_совпадения As Long = 50, Optional Минимальная_длина_слова As Long = 0, Optional Слова_исключения As String = "")
    Dim x As Long
    Dim y As Double
    Dim Score As Double
    Dim min As Double
    Dim Max As Long
    Dim max2 As Long
    Dim d As Long
    For x = 1 To Словарь.Count
        Score = SringCompare(Искомое_Значение.Value, Словарь(x).Value, 50, Минимальная_длина_слова, Слова_исключения, Max)
        Score = Score + SringCompare(Словарь(x).Value, Искомое_Значение.Value, 50, Минимальная_длина_слова, Слова_исключения, max2)
        'If min > Score Then min = Score
        'If Max < Score Then Max = Score
        If Score > y Then
            y = Score

            If Значение_или_индекс = False Then
                d = max2
'Debug.Print Score / ((Max + d) * 100)
                If Score / ((Max + d) * 100) >= (Процент_совпадения / 100) Then

                    FuzzyVLOOKUP = Словарь(x).Value

                Else: FuzzyVLOOKUP = "Нет совпадений"
                End If
            End If
            If Значение_или_индекс = True Then
                d = max2
                'Debug.Print rngWith(x).Value
                FuzzyVLOOKUP = Score / ((Max + d) * 100)
            End If
        End If

    Next x
    
End Function
 
Очевидно надо попробовать выключить пересчет ;) https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=54170
ну а после конца макроса включать обратно.  
 
Нет ли другого варианта? Спасибо.

Цитата
а после конца макроса включать обратно.
Как именно, подскажите.
 
Вам же ссылку показали.
 
Цитата
иван трофимович написал: после конца макроса включать обратно
смотрите здесь
 
Спасибо!
Страницы: 1
Читают тему (гостей: 2)
Наверх