Página 1 de 1
Macro Colar valores
Enviado: 17 Mai 2016 às 12:24
por lucasfrrocha
Boa tarde,
estou com uma dificuldade em automatizar um processo simples , que seria pegar um intervalo de valores ,e cola-los como a soma deles , só que ao invés de usar =soma() , eu queria que na célula mostrasse por exemplo =Valor1+Valor2+Valor3... para assim quando clicar na célula , conseguir ver os valores das componentes da soma. Alguém sabe o melhor jeito de fazer isto ?
Obrigado,
Lucas.
Macro Colar valores
Enviado: 17 Mai 2016 às 13:18
por Parkeless
Olá Lucas!
Consegue postar uma planilha exemplificando o que você precisa?
Re: Macro Colar valores
Enviado: 17 Mai 2016 às 13:45
por lucasfrrocha
Boa tarde Parkeless,
Não sei se é necessário a planilha , sendo que o problema em si é bem simples, tirei uma print , não sei se ajuda...
caso precise eu mando a planilha.
https://uploaddeimagens.com.br/images/0 ... 1463502558
a parte chata é que a =soma() não me serve por que necessito de cada valor escrito na célula como feito na print.
não sei se ajudou..
Macro Colar valores
Enviado: 17 Mai 2016 às 13:48
por Parkeless
Tenta colocar um apóstrofo antes da fórmula.
Exemplo: '=A1+A2+A3...
Macro Colar valores
Enviado: 17 Mai 2016 às 13:57
por lucasfrrocha
Acho que me expressei mal , o total pode aparecer normal quando a celula não esta selecionada . mas quando clicar para editar/ver , ela fica aparendo como "=Valor 1 + valor 2 .."
Macro Colar valores
Enviado: 17 Mai 2016 às 14:25
por Parkeless
Lucas,
Fiz uma macro, mas cuidado; ela calcula uma soma simples entre valores, o que quer dizer que ela não cria vínculo nenhum com outras células. Ou seja, um valor alterado posteriormente não irá atualizar a fórmula.
Cole o código abaixo em um módulo (Alt + F11 > Inserir > Módulo), e execute a macro.
Código: Selecionar todosSub Soma_Um()
Dim Intervalo As Range
Dim Resultado As Range
Set Intervalo = Application.InputBox("Selecione as células a serem somadas.", "Seleção", Type:=8)
Set Intervalo = Intersect(ActiveSheet.UsedRange, Intervalo)
Set Resultado = Application.InputBox("Selecione a célula que conterá o resultado.", "Seleção", Type:=8)
If Intervalo.Columns.Count <> 1 Then
MsgBox "Erro: selecione apenas uma coluna.", vbCritical
Exit Sub
End If
If Resultado.Count <> 1 Then
MsgBox "Erro: selecione apenas uma célula para o resultado.", vbCritical
Exit Sub
End If
Dim cell As Range
Dim Texto As String
Dim i As Long
For i = 1 To Intervalo.Count
If IsNumeric(Intervalo.Cells(i, 1)) Then
If i = 1 Then
Texto = Intervalo.Cells(i, 1)
Else
Texto = Texto & "+" & Intervalo.Cells(i, 1)
End If
End If
Next i
Resultado.FormulaR1C1 = "=" & Texto
End Sub
Macro Colar valores
Enviado: 18 Mai 2016 às 07:57
por lucasfrrocha
Funcionou perfeitamente Parkeless, muito obrigado.