Я настроил несколько вкладок в Excel 2013, я создал условный формат для выделения красной рамкой при вводе дублирующейся информации. Однако я бы хотел, чтобы это происходило и на разных вкладках.

Когда я копирую формат на разные рабочие листы, дублирующаяся информация выделяется красным, но только на одном листе. Я хочу, чтобы это показывало, есть ли дубликаты от любых других рабочих листов также.

Я попытался использовать средство рисования формата для разных листов, хотя это просто копирует формат, чтобы дублировать только то, что есть на каждом листе, а не на всех листах.

Есть ли способ сделать это?

1 ответ1

2

Чтобы применить условное форматирование к нескольким листам в рабочей книге, потребуется определенная работа. Нет решения «укажи и щелкни», которое мне удалось найти. Вот пара решений, которые помогут вам найти свой путь. Суть; вам придется провести некоторые эксперименты, чтобы сделать эту работу для вашего конкретного приложения.


Использование определенных имен - Волшебный трюк Excel 879: условное форматирование на листе (листах или вкладках)

Узнайте, как создать условное форматирование, когда Критерии находятся на одном листе, а Условное форматирование должно быть применено на другом листе. Узнайте об определенных именах. Посмотрите, как отформатировать пересекающиеся значения. См. Логическую формулу, которая использует функции AND и LOOKUP.


Использование VBA - Вы можете использовать макрос VBA для просмотра листов и выделения (форматирования) найденных дубликатов. (источник)

Sub Highlight_Duplicate()

Dim loop_sheet As Integer
Dim sheet_usedrow As Long
Dim loop_row As Long
Dim compare_value As String
Dim loop_row_first_sheet As Long
Dim first_row_count As Long
Dim column_number As Integer

column_number = 1 ' Change the column_number as the column which you want to highlight.

first_row_count = Sheets(1).UsedRange.Rows.Count

For loop_row_first_sheet = 2 To first_row_count

compare_value = Sheets(1).Cells(loop_row_first_sheet, column_number)

    For loop_sheet = 2 To 6

        sheet_usedrow = Sheets(loop_sheet).UsedRange.Rows.Count

        For loop_row = 2 To sheet_usedrow

            If Sheets(loop_sheet).Cells(loop_row, column_number) = compare_value Then

                Sheets(loop_sheet).Activate

                ActiveSheet.Cells(loop_row, column_number).Select

                With Selection.Interior

                    .Pattern = xlSolid

                    .PatternColorIndex = xlAutomatic

                    .Color = 255

                    .TintAndShade = 0

                    .PatternTintAndShade = 0

                End With

            End If

        Next

    Next

    Sheets(1).Activate

    ActiveSheet.Cells(loop_row_first_sheet, column_number).Select

    With Selection.Interior

        .Pattern = xlSolid

        .PatternColorIndex = xlAutomatic

        .Color = 255

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

Next

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .