
Existe uma maneira de fazer com que o número de uma fórmula retorne um valor sem usar o método Recortar e Colar.
Porque eu teria que fazer isso em cerca de cem células diferentes todos os dias. Portanto, Recortar e Colar não é um método viável. Não existe algum atalho ou alguma maneira estranha de evitar isso.
Para simplificar... preciso de B1 para = A4. Depois atualizarei A4 adicionando os novos dados dos dias e precisarei então ter B2 = A4 - o valor antigo de B1.
Para que isso funcione, B1 precisa ter se tornado um valor e não uma fórmula referenciando A4 porque preciso poder atualizar A4 todos os dias. Então, depois de cada dia, a próxima célula precisa se tornar um valor.
Lembre-se de que não posso copiar e colar de novo e de novo
Alguém pode me ajudar!
Responder1
Isso pressupõe a colunaBe célulaA4comece completamente vazio. Coloque a seguinte macro de eventos na área de código da planilha:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A4 As Range, B1 As Range, n As Long
Set A4 = Range("A4")
Set B1 = Range("B1")
If Intersect(A4, Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
If B1 = "" Then
B1 = A4
Else
n = Cells(Rows.Count, "B").End(xlUp).Row
Cells(n + 1, "B").Value = Cells(n, "B").Value - A4
End If
Application.EnableEvents = True
End Sub
Por ser um código de planilha, é muito fácilinstalare automático para usar:
- clique com o botão direito no nome da guia próximo à parte inferior da janela do Excel
- selecione Ver código - isso abre uma janela VBE
- cole o material e feche a janela do VBE
Se você tiver alguma dúvida, primeiro experimente 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
Pararemovera macro:
- abra as janelas VBE como acima
- limpar o código
- feche a janela do VBE
Para saber mais sobre macros em geral, consulte:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
e
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
Para saber mais sobre macros de eventos (código de planilha), consulte:
http://www.mvps.org/dmcritchie/excel/event.htm
As macros devem estar habilitadas para que isso funcione!
Responder2
Com algo que possui um padrão definido como este, pode-se criar um Intervalo Nomeado ("NR"), usando referências relativas, e escolher cuidadosamente a célula ativa ao criar o Intervalo Nomeado e usá-lo todos os dias para Colar Valores.
Com set pattern
isso quero dizer que se 1º de julho "ocorre" nas células B1, H4 e XX9, então 2 de julho ocorre imediatamente abaixo dessas células: B2, H4 e XX10. E assim por diante em qualquer mês. NUNCA seria necessário ir para B2, H38, XX10 no segundo dia.
Você pode selecionar um intervalo nomeado na caixa à esquerda da barra de edição de fórmulas. Aquele que mostra sua célula ativa. Uma vez selecionado, você apenas faria Copy
isso Paste|Special|Values
em uma única etapa e pronto. Portanto, selecione o intervalo nomeado na caixa, copie e cole. Tudo feito.
Para fazer funcionar, use referências relativas (sem $B$1: use B1), então fará isso se estiver em B1, mas se B2 for selecionado, faria B2.
A outra etapa para fazer isso funcionar é tornar a primeira célula sua célula ativa durante a criação do NR. Se você fosse uma célula abaixo dela, selecionaria B2, não B1!
Crie a string que lista as células no intervalo da maneira que for necessária, mesmo que você precise digitar todos os endereços de células "cerca de cem". É só uma vez. Muitos truques para juntar cordas podem ajudar. Uma vez feito isso, não verifique examinando os pequenos pedaços de texto! Selecione-o e veja se ele selecionou todas as células corretas. É muito mais fácil verificar com precisão dessa forma: é como comparar duas páginas, caractere por caractere, para ver se são iguais, em vez de colocar uma sobre a outra, segurá-las contra uma luz e ver se há alguma diferença. Este último não é apenas muito mais fácil, mas também mais preciso.
Crie a string fora da função NR, copie-a e cole-a na caixa Valor do novo NR. Não é necessário digitar fora do ambiente fácil e repleto de ferramentas de uma página normal de planilha.
Por fim, uma estranheza do Windows, não do Excel: o ÚLTIMO endereço da célula no NR é aquele em que ele será iniciado, não o PRIMEIRO. Ele passará para o primeiro se você TAB
passar, mas... O QUÊ? Portanto, liste as células começando com #2, #3, ... #última, #1 e terá aquela que você deseja que seja a primeira célula ativa selecionada.
Aqui, isso não importa para você copiar e colar, apenas para "exatamente onde você está" para iniciar o trabalho adicional, quando isso for feito. Porém, outros usos, outras planilhas, podem ser úteis para considerar.
Para reiterar, todos os dias você selecionaria uma célula entre aquelas para colar valores, selecionaria o intervalo, copiaria e colaria. Isso é tudo. Nenhuma macro é necessária, portanto, nenhum aprendizado é necessário e o intervalo pode ser facilmente editado ou adicionado se alguma coisa mudar.