Macro busca celda por color y resumen

Tengo una macro que compara dos hojas de un mismo libro, específicamente 2 columnas, si hay un cambio en estas columnas, pinta la celda de un color, lo que requiero saber y pedir su ayuda, es poder realizar una macro que me extraiga los valores de las celdas en color y las pegue en una tercera hoja dentro del mismo libro, .

1 respuesta

Respuesta
2

Puedes poner tu macro para ver qué columnas, qué color y cómo se llaman las hojas.

¿Solamente quieres el valor de esa celda?

Cómo se llama la tercera hoja, en qué columna y a partir de qué fila quieres los valores.

¿Quieres qué la macro se ejecute cuando presiones un botón?

Hola,

Sub bomscomparationSS()
Set h1 = Sheets("BOM A")
Set h2 = Sheets("BOM B")
h2.Activate
Set r = h1.Range("E:E")
col = "E"
For i = 1 To h2.Range(col & Rows.Count).End(xlUp).Row
Set b = r.Find(Cells(i, col))
If b Is Nothing Then Cells(i, col).Interior.ColorIndex = 6
Next
Set r = h1.Range("K:K")
col = "K"
For i = 1 To h2.Range(col & Rows.Count).End(xlUp).Row
Set d = r.Find(Cells(i, col))
If d Is Nothing Then Cells(i, col).Interior.ColorIndex = 6
Next
h1.Activate
Set r = h2.Range("E:E")
col = "E"
For i = 1 To h1.Range(col & Rows.Count).End(xlUp).Row
Set c = r.Find(Cells(i, col))
If c Is Nothing Then Cells(i, col).Interior.ColorIndex = 3
Next
Set r = h2.Range("K:K")
col = "K"
For i = 1 To h1.Range(col & Rows.Count).End(xlUp).Row
Set e = r.Find(Cells(i, col))
If e Is Nothing Then Cells(i, col).Interior.ColorIndex = 3
Next
End Sub

Si, quiero que se ejecute cuando se presione un botón y solo el valor de la celda.

la 3era hoja se llama Compara y las celdas es E20 a E50 y K20 a K50

Prueba la siguiente macro

Sub pasar()
'Por.DAM
Set h1 = Sheets("BOM A")
Set h2 = Sheets("BOM B")
Set h3 = Sheets("Compara")
j = 1
For i = 1 To h1.Range("E" & Rows.Count).End(xlUp).Row
    If h1.Cells(i, "E").Interior.ColorIndex = 3 Then
        h1.Cells(i, "E").Copy h3.Cells(j, "E")
        j = j + 1
    End If
Next
For i = 1 To h2.Range("E" & Rows.Count).End(xlUp).Row
    If h2.Cells(i, "E").Interior.ColorIndex = 6 Then
        h2.Cells(i, "E").Copy h3.Cells(j, "E")
        j = j + 1
    End
If
Next
j = 1
For i = 1
To h1.Range("K" & Rows.Count).End(xlUp).Row
    If h1.Cells(i, "K").Interior.ColorIndex = 3 Then
        h1.Cells(i, "K").Copy h3.Cells(j, "K")
        j = j + 1
    End If
Next
For i = 1 To h2.Range("K" & Rows.Count).End(xlUp).Row
    If h2.Cells(i, "K").Interior.ColorIndex = 6 Then
        h2.Cells(i, "k").Copy h3.Cells(j, "k")
        j = j + 1
    End If
Next
End Sub

Saludos.Dante Amor
Si es lo que necesitas, por favor, podrías
finalizar la
pregunta.

Muchísimas gracias, es justo lo que necesitaba.

podrías ayudarme con otra cuestión?

en la primera macro no había considerado los cambios que había entre las dos referencias, en las dos listas. por ejemplo.

Columna E Columna K

BomA 123456 R301

BomB 123456 R502

el cambio puede ser en las dos columnas, es decir, puede cambiar el valor de la columna E y en la columna K mantener el mismo en las dos hojas.

Con gusto te ayudo. Finaliza esta pregunta y crea una nueva por cada petición.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas