Excel 2010 VBA. caixa de entrada está excluindo a fórmula na célula que ele muda

0

Ok, sou relativamente novo no VBA. Na verdade, sou um cara de dados e não o uso muito, por favor, perdoe-me por minha falta de conhecimento.

Eu tenho uma célula em uma planilha que deriva seu valor de outra célula. Em outras palavras, célula b1 = a1. Eu estou usando uma caixa de entrada para alterar o valor de b1 porque às vezes isso é necessário. Eu não quero mudar a célula a1, e quero manter a fórmula em b1 para que a célula b1 normalmente obtenha valor de a1.

Aqui está o meu código:

Private Sub CommandButton_click ()
Dim myValue As Variant
myValue = InputBox ("change cell b1")
Range ("b1"). Value = myValue
End Sub

Isso funciona para alterar o valor, mas exclui a fórmula. Eu estou usando um botão activeX para iniciar a caixa de entrada. Esse botão pode substituir a fórmula para fins de usuário, mas ainda mantém a fórmula para cálculos futuros? 95% do tempo eu preciso de b1 para obter valor a partir de a1, mas quando eu supera isso eu preciso que a fórmula não seja deletada para que possa ser usada pelo próximo usuário.

Obrigado

    
por AJunker 04.07.2016 / 14:18

1 resposta

1

A maneira usual de implementar isso é com uma terceira célula .

Digamos que usamos C1 como substituto:

Se C1 estiver vazio, use o valor em A1 .
Se C1 não estiver vazio, use-o. / p>

Então, em B1 , digite:

=IF(C1="",A1,C1)

e tem a atualização de macros C1 .

    
por 04.07.2016 / 19:20