Всем привет. Подсобите, пожалуйста, с макросом Есть таблица с двумя столбцами, нужно сравнить 2 столбца и залить цветом. К примеру в столбце В ищем 22,81 , найдя закрашиваем в зеленый цвет ячейку в столбце В и соседнюю в столбце С. То же самое проделываем со столбцом D , если 22.81 есть в этом столбце, закрашиваем эту ячейку и соседнюю в столбце С.
Всем привет. Подсобите, пожалуйста, с макросом Есть таблица с двумя столбцами, нужно сравнить 2 столбца и залить цветом. К примеру в столбце В ищем 22,81 , найдя закрашиваем в зеленый цвет ячейку в столбце В и соседнюю в столбце С. То же самое проделываем со столбцом D , если 22.81 есть в этом столбце, закрашиваем эту ячейку и соседнюю в столбце С.Stormy
Sub Сравнение() Dim i As Range, k As Range Dim LastRow As Long With ThisWorkbook.Worksheets("Лист1") LastRow = .Cells(.Rows.Count, 2).End(xlUp).Row For Each i In .Range("B4:B" & LastRow) For Each k In .Range("D4:D" & LastRow) If i.Value = "22,81" And i = k Then i.Interior.Color = vbGreen i.Offset(0, 1).Interior.Color = vbGreen k.Interior.Color = vbGreen End If Next k Next i End With End Sub
[/vba]
Посмотрите:
[vba]
Код
Sub Сравнение() Dim i As Range, k As Range Dim LastRow As Long With ThisWorkbook.Worksheets("Лист1") LastRow = .Cells(.Rows.Count, 2).End(xlUp).Row For Each i In .Range("B4:B" & LastRow) For Each k In .Range("D4:D" & LastRow) If i.Value = "22,81" And i = k Then i.Interior.Color = vbGreen i.Offset(0, 1).Interior.Color = vbGreen k.Interior.Color = vbGreen End If Next k Next i End With End Sub
Sub Сравнение() Dim i As Range, k As Range Dim LastRow As Long With ThisWorkbook.Worksheets("Лист1") LastRow = .Cells(.Rows.Count, 2).End(xlUp).Row For Each i In .Range("B4:B" & LastRow) For Each k In .Range("D4:D" & LastRow) If i = k Then i.Interior.Color = vbGreen i.Offset(0, 1).Interior.Color = vbGreen k.Interior.Color = vbGreen End If Next k Next i End With End Sub
[/vba] Заменил [vba]
Код
If i.Value = "22,81" And i = k Then
[/vba] на [vba]
Код
If i = k Then
[/vba] Заливает все зеленым цветом
Код: [vba]
Код
Sub Сравнение() Dim i As Range, k As Range Dim LastRow As Long With ThisWorkbook.Worksheets("Лист1") LastRow = .Cells(.Rows.Count, 2).End(xlUp).Row For Each i In .Range("B4:B" & LastRow) For Each k In .Range("D4:D" & LastRow) If i = k Then i.Interior.Color = vbGreen i.Offset(0, 1).Interior.Color = vbGreen k.Interior.Color = vbGreen End If Next k Next i End With End Sub