Copie el color de fondo de la hoja maestra a la hoja de trabajo, no el contenido

Copie el color de fondo de la hoja maestra a la hoja de trabajo, no el contenido

Me pregunto si alguien puede ayudarme, soy un novato cuando se trata de sobresalir. Tengo que crear una hoja de cálculo que se usará en la administración del centro de datos y el seguimiento de hardware, así que lo que hice fue crear una hoja de trabajo maestra y una hoja por bastidor, lo que necesito lograr es cuando una celda en la hoja maestra se llene con un color de fondo (gris), luego cambia el color en la hoja de trabajo correspondiente. No estoy seguro de cuánto sentido tiene eso :)

Maestro B2:B25 a la hoja de trabajo 1 B4:B27.. Maestro D2:D25 a la hoja de trabajo 2 B4:B27.. Maestro E2:E25 a la hoja de trabajo 3 B4:B27..etc.

No puedo usar copiar porque copia el contenido de la celda, lo cual no quiero, solo el color de fondo.

Respuesta1

VBA no tieneevento de cambio de colorque se puede capturar para hacerlo completamente automático.

decido hacerloal hacer doble clic. Hace doble clic en una celda y el color se copia a la celda correspondiente en otra hoja de trabajo:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim wkb As Workbook
    Set wkb = ThisWorkbook
    total_sheets = wkb.Worksheets.Count
    aff_row = Target.Row
    aff_column = Target.Column
    sheet_used = (aff_column / 2) + 2
    If aff_column > 1 Then
        If Int(sheet_used) = sheet_used Then
            If sheet_used <= total_sheets Then
                wkb.Sheets(sheet_used).Cells(aff_row + 2, 2).Interior.Color = Target.Interior.Color
            End If
        End If
    End If
End Sub

Abra macros /VBA haga doble clic en la columna de la izquierdaHoja2, pega el código en el lado derecho

Cuando cambies el color de una celda, haz doble clic en ella y cambiará de esta manera:

Hoja2 ColumnaB -> Hoja3 ColumnaB

Hoja2 ColumnaD -> Hoja4 ColumnaB

Hoja2 ColumnaF -> Hoja5 ColumnaB

Siempre 2 filas debajo de la fila original.

Respuesta2

Como te consideras novato, te guiaré por el camino correcto...

  1. Copiar celda con estilo original: Ctrl+c

  2. Seleccione la celda de destino y pegue especial: Alt+ e+ s+v

  3. Seleccione la opción de formatos para pegar solo los formatos de la celda copiada: t+Enter

Respuesta3

Si selecciona todas las hojas de trabajo (mantenga presionada la tecla Mayús y haga clic en cada pestaña), podrá formatearlas todas simultáneamente; cualquier cambio que realice en la hoja de origen se reflejará en el resto. Pero eso sólo tiene sentido si sólo estás hablando de la configuración inicial de tu hoja.

Si desea que cambios como este ocurran de manera más regular y automática durante la vida útil del libro, esto solo se puede resolver usando VBA (Visual Basic para Aplicaciones, que está integrado en la mayoría de las versiones modernas de Office como estándar). En ese caso, necesitarás agregar algún código al evento Worksheet_Change():

  1. Recuerde el color de fondo de su selección actual

    Dim myColor As Integer myColor = Selection.Interior.ColorIndex

  2. Seleccione la nueva área a la que aplicar el color; esto debería seleccionar su rango actual en todas las hojas de trabajo visibles.

    Worksheets.Select

  3. Aplique su color de fondo original a su nueva selección

    Selection.Interior.ColorIndex = myColor

  4. Vuelva a seleccionar solo la pestaña en la que estaba trabajando originalmente. (Supongo que su pestaña Maestro es la primera hoja)

    Worksheets(1).Select

NÓTESE BIEN:sin modificaciones, este código refleja TODOS los cambios de color de TODAS las hojas a TODAS las demás cada vez que se cambia CUALQUIER celda, lo cual es excesivo. La solución podría hacerse mucho más eficiente según sea necesario.

información relacionada