Sub SeleccionarYCopiarCeldasGrises()
Dim ws As Worksheet
Dim celda As Range
Dim rangoGris As Range
Dim colorGris As Long
' Establecer la hoja de trabajo
Set ws = ThisWorkbook.Sheets("NombreDeTuHoja")
' Establecer el color Gris (RGB: 128, 128, 128)
colorGris = RGB(128, 128, 128)
' Recorrer cada celda en la columna A
For Each celda In ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
If celda.Interior.Color = colorGris Then
' Si la celda es Gris, añadirla al rango
If rangoGris Is Nothing Then
Set rangoGris = celda
Else
Set rangoGris = Union(rangoGris, celda)
End If
End If
Next celda
' Copiar el rango de celdas Grises si no está vacío
If Not rangoGris Is Nothing Then
rangoGris.Copy
' Pega las celdas copiadas donde necesites
' Por ejemplo, para pegar en B1:
' ws.Range("B1").PasteSpecial Paste:=xlPasteAll
Else
MsgBox "No se encontraron celdas grises en la columna A."
End If
End Sub
Instrucciones para usar la macro:
- Abre Excel y presiona Alt + F11 para abrir el Editor de VBA.
- En el Editor de VBA, ve a Insertar > Módulo para crear un nuevo módulo.
- Copia y pega el código anterior en el módulo.
- Cambia "NombreDeTuHoja" por el nombre de la hoja en la que deseas trabajar.
- Cierra el Editor de VBA y vuelve a Excel.
- Para ejecutar la macro, presiona Alt + F8, selecciona SeleccionarYCopiarCeldasGrises y haz clic en Ejecutar.