Página 1 de 1

Gravar respostas de entradas diferentes em células diferente

Enviado: 20 Abr 2020 às 18:05
por Patrmb
Olá, gostaria de saber se consigo com algum recurso do excel salvar os resultados de uma fórmula numa coluna, e quando mudar a entrada salvar a outra resposta em outra coluna. Exemplo: para cada dia do mês que eu usar numa mesma fórmula, salvar o resultado na coluna do respectivo dia.

Re: Gravar respostas de entradas diferentes em células difer

Enviado: 20 Abr 2020 às 19:52
por osvaldomp
Se você quiser experimentar, segue uma solução via macro.

Instale uma cópia do código abaixo no módulo da planilha, assim:
1. copie o código daqui
2. clique com o direito na guia da planilha de interesse e escolha 'Exibir Código'
3. cole o código na janela em branco que vai se abrir
4. feito! 'Alt+Q' para retornar para a planilha e testar
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address <> "$L$9" Then Exit Sub
 Cells(2, [A1:AF1].Find([L7]).Column + 1) = [L10]
End Sub
funcionamento - após alterar manualmente o conteúdo de L9 o código irá lançar o valor de L10 na linha 2, na célula correspondente ao dia imediato de L7 na linha 1.

dica - se você colocar em em C1 =B1+1 e arrastar para a direita, quando for mudar o mês bastará mudar em B1 e assim não precisará refazer as datas até AF1. ;)

Re: Gravar respostas de entradas diferentes em células difer

Enviado: 21 Abr 2020 às 10:20
por Patrmb
Cara, funcionou mt bem!! Obrigado. Tentei usar o princípio para o problema real que eu tenho, q é um controle com mais itens, mas não consegui reproduzir.. imagino que tenha q colocar um for pq é pro resultado ir pra várias linhas. Segue o código que eu tentei fazer e a planilha. Agradeço se puder ajudar novamente!
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address <> "$E$5:$E$17" Then Exit Sub
 Cells(26, [C25:AG25].Find([C4]).Column + 1) = [D5:D17]
End Sub
No caso, o resultado das céluas D5:D17 devem ser salvos na coluna do respectivo dia (C25:AG25).

Re: Gravar respostas de entradas diferentes em células difer

Enviado: 21 Abr 2020 às 11:47
por osvaldomp
Para essa situação totalmente diferente da anterior me parece mais adequado colocar um novo código em um módulo comum e executá-lo via botão após o preenchimento manual do intervalo E5:E17.

Instale uma cópia do código abaixo em um módulo comum, assim:
1. copie o código daqui
2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor / Inserir / Módulo
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

para rodar o código:
6. tecle 'Alt+F8' / selecione a macro correspondente / Executar, ou insira um botão na planilha e vincule-o à macro ou vincule-a a um atalho de teclado (Alt+F8 / Opções).
Essas três opções para rodar o código podem ser implantadas isoladamente ou em conjunto.
Código: Selecionar todos
Sub ReplicaDados()
 Cells(26, [C25:AH25].Find([D4], LookIn:=xlValues).Column).Resize(13) = [D5:D17].Value
End Sub
dicas
1. Álcool líquido 70% | Álcool em gel 70% | Atadura 10x4,5 cm 13 fios | Atadura 20x4,5 cm 13 fios
2. coloque o valor da saída sem o sinal de menos (saída já significa uma subtração) e altere a fórmula em D5 de =C5+E5 para =C5-E5

Gravar respostas de entradas diferentes em células diferente

Enviado: 21 Abr 2020 às 12:58
por Patrmb
Deu certo demaais! Muito obrigado!