Gostaria de saber se alguém pode ajudar, sou novato quando o assunto é excel. Tenho que criar uma planilha que será utilizada no gerenciamento do Datacenter e rastreamento de hardware, então o que fiz foi criar uma planilha mestre e uma planilha por rack, o que preciso conseguir é quando uma célula da planilha mestre for preenchida com um cor de fundo (cinza), em seguida, muda a cor na planilha correspondente. Não tenho certeza de quanto sentido isso faz :)
Mestre B2:B25 para planilha 1 B4:B27.. Mestre D2:D25 para planilha 2 B4:B27.. Mestre E2:E25 para planilha 3 B4:B27..etc
Não posso usar copy porque copia o conteúdo da célula, o que não quero, apenas a cor de fundo.
Responder1
VBA não tem umevento de mudança de corque pode ser capturado para torná-lo totalmente automático.
eu decido fazer issoao clicar duas vezes. Você clica duas vezes em uma célula e a cor é copiada para a célula correspondente em outra planilha:
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 clique duas vezes na coluna da esquerdaPlanilha2, cole o código no lado direito
Ao alterar a cor de uma célula, clique duas vezes nela e ela mudará desta forma:
Folha2 ColunaB -> Folha3 ColunaB
Folha2 ColunaD -> Folha4 ColunaB
Folha2 ColunaF -> Folha5 ColunaB
Sempre 2 linhas abaixo da linha original.
Responder2
Como você se considera um novato, vou ajudá-lo a começar pelo caminho certo ...
Copie a célula com estilo original: Ctrl+c
Selecione a célula de destino e cole especial: Alt+ e+ s+v
Selecione a opção de formatos para colar apenas os formatos da célula copiada: t+Enter
Responder3
Se você selecionar todas as planilhas (mantenha pressionada a tecla Shift e clique em todas as guias), poderá formatar todas elas simultaneamente - qualquer alteração feita na planilha de origem será espelhada no restante. Mas isso só faz sentido se você estiver falando apenas sobre a configuração inicial da sua planilha.
Se você quiser que mudanças como essa aconteçam de forma mais regular e automática durante a vida útil da pasta de trabalho, isso só poderá ser resolvido usando VBA (Visual Basic para aplicativos, que está incorporado na maioria das versões modernas do Office como padrão). Nesse caso, você precisaria adicionar algum código ao evento Worksheet_Change():
Lembre-se da cor de fundo da sua seleção atual
Dim myColor As Integer myColor = Selection.Interior.ColorIndex
Selecione a nova área para aplicar a cor; isso deve selecionar seu intervalo atual em todas as planilhas visíveis.
Worksheets.Select
Aplique a cor de fundo original à sua nova seleção
Selection.Interior.ColorIndex = myColor
Selecione novamente apenas a guia na qual você estava trabalhando originalmente. (Presumo que sua guia Mestre seja a primeira planilha)
Worksheets(1).Select
Observação:sem quaisquer modificações, este código reflete TODAS as alterações de cores de TODAS as planilhas para TODAS as outras sempre que QUALQUER célula for alterada, o que é um exagero. A solução poderia ser muito mais eficiente conforme necessário.