Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/свой VLOOKUP (ВПР) как раскрасить найденные значения - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » свой VLOOKUP (ВПР) как раскрасить найденные значения (Макросы/Sub)
свой VLOOKUP (ВПР) как раскрасить найденные значения
Flatcher Дата: Суббота, 21.05.2016, 08:49 | Сообщение № 1
Группа: Проверенные
Ранг: Участник
Сообщений: 94
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте. Имеется собственная функция VLOOKUP (ВПР) с доработкой по поиску n найденного значения. Подскажите пожалуйста как можно сделать автоматическую раскраску тех значений которые нашел VLOOKUP (ВПР). Все данные в примере.
К сообщению приложен файл: Forum.xlsm (16.1 Kb)
 
Ответить
СообщениеЗдравствуйте. Имеется собственная функция VLOOKUP (ВПР) с доработкой по поиску n найденного значения. Подскажите пожалуйста как можно сделать автоматическую раскраску тех значений которые нашел VLOOKUP (ВПР). Все данные в примере.

Автор - Flatcher
Дата добавления - 21.05.2016 в 08:49
Karataev Дата: Суббота, 21.05.2016, 09:45 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Применение заливки (возможно и другие действия) прерывают работу собственной функции и функция возвращает ошибку "#ЗНАЧ!". Поэтому нужно отказаться от собственной функции, а запускать макрос другим способом. Например, можно использовать событие "Worksheet_Change".
 
Ответить
СообщениеПрименение заливки (возможно и другие действия) прерывают работу собственной функции и функция возвращает ошибку "#ЗНАЧ!". Поэтому нужно отказаться от собственной функции, а запускать макрос другим способом. Например, можно использовать событие "Worksheet_Change".

Автор - Karataev
Дата добавления - 21.05.2016 в 09:45
SLAVICK Дата: Суббота, 21.05.2016, 10:00 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
просто так изменять заливки нельзя - это приведет к ошибке, (Karataev уже написал об этом) а вот цвет шрифта скопировать можно. :D :
[vba]
Код
Function VLOOKUP2(Table As Range, SearchColumnNum As Integer, SearchValue As Variant, _
                    N As Integer, ResultColumnNum As Integer)
    Dim i As Integer
    Dim iCount As Integer
      
        For i = 1 To Table.Rows.Count
            If Table.Cells(i, SearchColumnNum) = SearchValue Then
                iCount = iCount + 1
            End If
            If iCount = N Then
                VLOOKUP2 = Table.Cells(i, ResultColumnNum)
                Application.Caller.Cells(1, 1).Font.Color = Table.Cells(i, ResultColumnNum).Font.Color
                Exit For
            End If
        Next i
End Function
[/vba]
Или заменить функцию на макрос, но тогда не будет работать отмена действий.
можно попробовать почитать эту тему там Gustav, умудрился изменять и цвет ячейки - но там есть свои нюансы.
К сообщению приложен файл: 3891973.xlsm (17.2 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщениепросто так изменять заливки нельзя - это приведет к ошибке, (Karataev уже написал об этом) а вот цвет шрифта скопировать можно. :D :
[vba]
Код
Function VLOOKUP2(Table As Range, SearchColumnNum As Integer, SearchValue As Variant, _
                    N As Integer, ResultColumnNum As Integer)
    Dim i As Integer
    Dim iCount As Integer
      
        For i = 1 To Table.Rows.Count
            If Table.Cells(i, SearchColumnNum) = SearchValue Then
                iCount = iCount + 1
            End If
            If iCount = N Then
                VLOOKUP2 = Table.Cells(i, ResultColumnNum)
                Application.Caller.Cells(1, 1).Font.Color = Table.Cells(i, ResultColumnNum).Font.Color
                Exit For
            End If
        Next i
End Function
[/vba]
Или заменить функцию на макрос, но тогда не будет работать отмена действий.
можно попробовать почитать эту тему там Gustav, умудрился изменять и цвет ячейки - но там есть свои нюансы.

Автор - SLAVICK
Дата добавления - 21.05.2016 в 10:00
Flatcher Дата: Суббота, 21.05.2016, 10:19 | Сообщение № 4
Группа: Проверенные
Ранг: Участник
Сообщений: 94
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, можно и изменить цвет шрифта. Только мне наоборот надо - чтобы цвет менялся на листе данные . Цель понять какие данные впр "втащил" в отчет а какие нет
 
Ответить
СообщениеSLAVICK, можно и изменить цвет шрифта. Только мне наоборот надо - чтобы цвет менялся на листе данные . Цель понять какие данные впр "втащил" в отчет а какие нет

Автор - Flatcher
Дата добавления - 21.05.2016 в 10:19
SLAVICK Дата: Суббота, 21.05.2016, 10:23 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Только мне наоборот надо - чтобы цвет менялся на листе данны

Ну так поменяйте строку:
[vba]
Код
Application.Caller.Cells(1, 1).Font.Color = Table.Cells(i, ResultColumnNum).Font.Color
[/vba]
на
[vba]
Код
Table.Cells(i, ResultColumnNum).Font.Color = Application.Caller.Cells(1, 1).Font.Color
[/vba]
К сообщению приложен файл: 3891973-1-.xlsm (17.2 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Только мне наоборот надо - чтобы цвет менялся на листе данны

Ну так поменяйте строку:
[vba]
Код
Application.Caller.Cells(1, 1).Font.Color = Table.Cells(i, ResultColumnNum).Font.Color
[/vba]
на
[vba]
Код
Table.Cells(i, ResultColumnNum).Font.Color = Application.Caller.Cells(1, 1).Font.Color
[/vba]

Автор - SLAVICK
Дата добавления - 21.05.2016 в 10:23
Flatcher Дата: Суббота, 21.05.2016, 10:29 | Сообщение № 6
Группа: Проверенные
Ранг: Участник
Сообщений: 94
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, спасибо большое
 
Ответить
СообщениеSLAVICK, спасибо большое

Автор - Flatcher
Дата добавления - 21.05.2016 в 10:29
Мир MS Excel » Вопросы и решения » Вопросы по VBA » свой VLOOKUP (ВПР) как раскрасить найденные значения (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!