Buenas tardes compañeros, a ver si me podéis ayudar con esta macro la cual me funciona perfecta pero ahora a parte de remarcar en color las diferencias en la columna B de las dos hojas también me piden si se puede hacer que me sume el valor de las celdas de la columna M de ambas hojas y el resultado aparezca en la columna Q solo de los valores de las celdas sin color, que serian las que se repiten de una hoja en otra.
Esta macro me funciona perfecta, he remarcado en rojo donde creo tiene que ir lo que pido y leo y leo y no termino de encontrar una solución.
¿Me pueden ayudar?
El código que estoy utilizando es este:
Sub CompararStock()
Dim Celda As Object
Dim ListaAntigua As Range
Dim ListaNueva As Range
Dim FinalA As Long
Dim FinalB As Long
'Elegimos las hojas y columnas donde se encuentran nuestros datos
FinalA = Sheets("Mes1").Range("B2").End(xlDown).Row
FinalB = Sheets("Mes2").Range("B2").End(xlDown).Row
Set ListaAntigua = Sheets("Mes1").Range("B2:B" & FinalA)
Set ListaNueva = Sheets("Mes2").Range("B2:B" & FinalB)
For Each Celda In ListaAntigua
If Application.WorksheetFunction.CountIf(ListaNueva, Celda) = 0 Then
Celda.Interior.Color = RGB(255, 100, 100)
Else
Celda.Interior.Color = xlNone
End If
Next Celda
For Each Celda In ListaNueva
If Application.WorksheetFunction.CountIf(ListaAntigua, Celda) = 0 Then
Buenas tardes compañeros, a ver si me podéis ayudar con esta macro la cual me funciona perfecta pero ahora a parte de remarcar en color las diferencias en la columna B de las dos hojas también me piden si se puede hacer que me sume el valor de las celdas de la columna M de ambas hojas y el resultado aparezca en la columna Q solo de los valores de las celdas sin color, que serian las que se repiten de una hoja en otra.
Esta macro me funciona perfecta, he remarcado en rojo donde creo tiene que ir lo que pido y leo y leo y no termino de encontrar una solución.
¿Me pueden ayudar?
El código que estoy utilizando es este:
Sub CompararStock()
Dim Celda As Object
Dim ListaAntigua As Range
Dim ListaNueva As Range
Dim FinalA As Long
Dim FinalB As Long
'Elegimos las hojas y columnas donde se encuentran nuestros datos
FinalA = Sheets("Mes1").Range("B2").End(xlDown).Row
FinalB = Sheets("Mes2").Range("B2").End(xlDown).Row
Set ListaAntigua = Sheets("Mes1").Range("B2:B" & FinalA)
Set ListaNueva = Sheets("Mes2").Range("B2:B" & FinalB)
For Each Celda In ListaAntigua
If Application.WorksheetFunction.CountIf(ListaNueva, Celda) = 0 Then
Celda.Interior.Color = RGB(255, 100, 100)
Else
Celda.Interior.Color = xlNone
End If
Next Celda
For Each Celda In ListaNueva
If Application.WorksheetFunction.CountIf(ListaAntigua, Celda) = 0 Then
Celda.Interior.Color = RGB(0, 255, 0)
ActiveCell.CurrentRegion.Select
'Formula
Worksheets("Mes2").Activate
Celda.Offset(0, 14).Activate
ActiveCell.Interior.Color = RGB(0, 255, 0)
ActiveCell.Value = ("Nueva entrada")
Else
Celda.Interior.Color = xlNone
'Formula
Worksheets("Mes2").Activate
Celda.Offset(0, 14).Activate
ActiveCell.Value = ("Ya existente")
Celda.Offset(0, 15).Activate
ActiveCell.Interior.Color = xlNone
ActiveCell.Value = (suma de valor M de hoja1 y valor M de hoja2)
End If
Next Celda