Excel 2010 - Como enviar valores para várias células com base em uma única célula

0

Eu tenho o que pode ser visto como um questionário com até 60 perguntas (todas sim / não). Se alguém responder Sim, por exemplo, na célula B1, sei que as perguntas nas células B6, B9, B22 e B50 serão NÃO. Para ser mais claro, se sua resposta for "Você é homem?" é sim, então eu sei que todas as perguntas projetadas para as mulheres serão Não.

Eu não posso fisicamente inserir uma fórmula em uma célula, pois ela será excluída (sobrescrita) quando alguém responder à pergunta. Então eu preciso de uma fórmula em uma célula separada que eu provavelmente vou esconder.

Como posso fazer isso?

    
por Edwin 01.04.2016 / 23:14

2 respostas

0

Você pode fazer isso com o VBA. Cole o código abaixo na folha que tem as células que você deseja alterar e, em seguida, personalize-o para sua necessidade específica.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then
Range("B1").Value = Range("A1").Value
End If

If Target.Address = "$A$2" Then
Range("B2").Value = Range("A2").Value
End If

End Sub

Origem

    
por 01.04.2016 / 23:32
0

Isso pressupõe que começamos com a planilha desprotegida e todas as células não bloqueadas. Coloque a seguinte macro de eventos na área de código da planilha:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim B1 As Range, OtherBees As Range
    Set B1 = Range("B1")
    Set OtherBees = Range("B6,B9,B22,B50")

    If Intersect(Target, B1) Is Nothing Then Exit Sub
    ActiveSheet.Unprotect
    Cells.Locked = False
    Application.EnableEvents = False
        If UCase(B1.Value) = "YES" Then
            OtherBees.Value = "NO"
            OtherBees.Locked = True
            ActiveSheet.Protect
        Else
            ActiveSheet.Unprotect
            OtherBees.Locked = False
            OtherBees.ClearContents
        End If
    Application.EnableEvents = True
End Sub

Por ser um código de planilha, é muito fácil de instalar e usar automaticamente:

  1. clique com o botão direito do mouse no nome da guia próximo à parte inferior da janela do Excel
  2. selecione Exibir código - isso abre uma janela do VBE
  3. cole o material e feche a janela do VBE

Se você tiver alguma dúvida, tente primeiro em uma planilha de teste.

Se você salvar a pasta de trabalho, a macro será salva com ela. Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar o arquivo como .xlsm em vez de .xlsx

Para remover a macro:

  1. abrir as janelas do VBE como acima
  2. limpe o código
  3. feche a janela do VBE

Para saber mais sobre macros em geral, consulte:

link

e

link

Para saber mais sobre macros de eventos (código da planilha), consulte:

link

As macros devem estar ativadas para que isso funcione!

    
por 01.04.2016 / 23:38