Страницы: 1
RSS
Выделение ячейки при изменении содержимого на другом листе
 
Вопрос по выделению ячейки при изменении содержимого на другом листе.

На лист 2 данные подтягиваются при помощи ВПР. Можно ли сделать, чтобы при выделении красным значения на листе1, это же значение выделялось красным и на листе2.

Файл-пример прилагаю
 
Формулы не могут изменять форматы ячеек, только макросом
Согласие есть продукт при полном непротивлении сторон
 
какой макрос можно использовать для решения данной задачи
 
Тот, который это всё сделает)
 
Вставьте в код того листа, на котором Вы меняете значения:макрос будет находить соответствующее значение на листе, куда
Вы подтягиваете данные при помощи ВПР() и перекрашивать нужную ячейку в тот цвет, откуда взято значение. Работает для колонки С (для другой колонки измените значение переменной ColNumber на соответствующий номер)
Код
rivate Sub Worksheet_Change(ByVal Target As Range)
Dim ColNuber As Long
ColNumber = 3
With Target
    If .Count > 1 Or .Column <> ColNumber Then Exit Sub
    Dim L As Long
    L = Application.WorksheetFunction.Match(.Value, Range("A:A").Offset(, ColNumber - 1), 0)
    Sheets("Лист2").Cells(L, 3).Font.Color = .Font.Color
End With
End Sub

 
что-то ничего не работает, вставила это код через редактор для листа 1
Изменено: yuly84 - 02.04.2015 16:28:37
 
да вроде, все работает. Измените значение в окрашенной красным ячейке и соответствующее значение окрасится в красный на другом листе
 
Я полагаю, что автор ждёт срабатывания макроса при изменении цвета))
 
ТС  - Вам не подходит вариант использовать одинаковые условия условного форматирования на двух листах? (если Ваши данные поддаются обработке УФ..)
 
Цитата
МВТ написал:
да вроде, все работает. Измените значение в окрашенной красным ячейке и соответствующее значение окрасится в красный на другом листе
можете прикрепить файл с примером, если не сложно
 
Цитата
googlogmob написал: если Ваши данные поддаются обработке УФ...
не сильна в уф, если подскажите как сделать при помощи уф буду только рада)
 
так как это для посмотреть, то вешать надо на активацию листа: см влож
Живи и дай жить..
 
Слэн, ваш вариант идеален)
небольшой вопрос: если в оригинальном файле у меня данные находятся в других столбцах,  какие изменения нужно вносить в  макрос
 
Код
Private Sub Worksheet_Activate()
Dim ar, ar2, i&
Application.ScreenUpdating = False
    ar = Cells(1, 2).CurrentRegion.Columns(2) ' берем ячейку (1,2) этого листа, определяем текущий диапазон, берем второй столбец
    ar2 = Лист1.Cells(1, 2).CurrentRegion.Columns(2) ' аналогично на 1м листе
     For i = 2 To UBound(ar)
        Cells(i, 3).Font.Color = Лист1.Cells(Application.WorksheetFunction.Match(ar(i, 1), ar2, 0), 3).Font.Color 'ячейкам со 2й по количеству, определяемому текущим _
  диапазоном 3го столбца этого листа присваиваем значение цвета ячейки, строка которой находится впр-ом в 3м столбце
     Next i
Application.ScreenUpdating = True
End Sub


если так понятнее.  
Живи и дай жить..
 
Цитата
Слэн написал:
  если так понятнее.
извиняюсь за свою глупость) но, мне так и не удалось применить макрос к оригинальному файлу.
Прикрепила, как расположены столбц. в оригинале
Изменено: yuly84 - 03.04.2015 15:16:34
 
yuly84, это не цитата! Прошу исправить
Страницы: 1
Наверх