Есть несколько шагов в том, что я пытаюсь сделать, так что терпите меня.
У меня есть два листа A и B
Лист A
Jan Feb March Apr Jun Jul Aug Sep Oct Nov Dec
Names SubNames
Apple Apple1 30.00 - - - - - - - -
Apple2 45.00 10 - - - - - - - -
Apple3 - - - - - - - -
Apple4 - - - - - - - -
SubTotal 75.00 0.00 10.00
Banana Banana11 - - - - - - - -
Banana22 15.00 - - - - - - - -
Banana33 32.00 17.75 65.00 - - - - - - - -
SubTotal 37.00 32.75 34.50
Cherry 1Cherry1 28.00 13.78 43.00 - - - - - - - -
2Cherry2 20.00
3Cherry3 20.00 16.50 100.00 - - - - - - - -
Subtotal 48.00 50.28 143.00 - - - - - - - -
Dragon DragonF1 31.00 35.00 - - - - - - - -
Subtotal 31.00 35.00 0.00
Grand Total 191.00 118.03 187.50
496.53
Лист Б
Jan Feb March Apr Jun Jul Aug Sep Oct Nov Dec
Names SubNames
Apple Apple1 30.00 - - - - - - - -
Apple2 60.00 - - - - - - - -
Apple3 - - - - - - - -
Apple4 - - - - - - - -
SubTotal 90.00 0.00 0.00
Banana Banana11 - - - - - - - -
Banana22 - - - - - - - -
Banana33 37.00 17.75 34.50 - - - - - - - -
SubTotal 37.00 17.75 34.50
Cherry 1Cherry1 28.00 13.78 63.15 - - - - - - - -
2Cherry2 15.35 - - - - - - - -
3Cherry3 35.00 16.50 97.65 - - - - - - - -
Subtotal 63.00 45.63 160.80
Extra Extra1234 30.00 - - - - - - - -
Extra4321 - - - - - - - -
Subtotal 30.00 0.00 0.00
Dragon DragonF1 31.00 34.50 - - - - - - - -
Subtotal 31.00 34.50 0.00 - - - - - - - -
Grand Total 251.00 97.88 195.30
544.18
Есть столбцы от A - O
Мне нужно проверить, соответствуют ли значения в столбце B листа B значениям в листе A и столбце B
Если это так, мне нужно сравнить значения в январе, феврале и марте следующим образом:
Измените цвет ячейки на Зеленый на Листе B, если значение увеличивается с Листа A до B
Измените цвет ячейки на Уменьшается в Листе B, если значение уменьшается от Листа A до B
Поля промежуточных итогов и итогов можно игнорировать.
Я продолжаю получать ошибки, но я не уверен, что мой код завершен.
Public Sub Edit()
Dim myRange As Range
Dim iCell As Range
Dim LastRow As Integer, Row As Integer, Col As Integer
Dim CSheet As Integer, PSheet As Integer
CSheet = ActiveSheet.Index
PSheet = CSheet - 1
Set cs = ActiveSheet
Set ps = Worksheets(PSheet)
'selecting range of active region
Set myRange = Range(ActiveSheet.Range("A3:O3"), ActiveSheet.Range("A3:O3").End(xlDown))
LastRow = Cells(Rows.Count, 15).End(xlUp).Row
'Highlighting all rows with no entries for forecast
For Row = 3 To LastRow
If WorksheetFunction.CountBlank(Range("C" & Row & ":O" & Row)) = "13" Then
Range("C" & Row & ":O" & Row).Style = "Note"
End If
'Highlighting green and red
If cs.VLookup(Range("B" & Row).Value, ps.Range("B2:B100"), 0) Then
For Col = 3 To 15
If cs.Cells(Row, Col) >= ps.Cells(Row & Col) Then
cs.Cells(Row, Col).Style = "Good"
Else
cs.Cells(Row, Col).Style = "Bad"
End If
Next Col
End If
Next Row
End Sub