Saberexcel - o site de quem precisa aprender sobre Macros Microsoft Excel VBA
Esse procedimento do Aplicativo Microsoft Excel VBA, usando o evento change(ao digitar) soma (acumula) valores em determinada célula.
Observe que ao digitar na célula (D10) o range.propriedade offset, desloca duas colunas à direita e soma o valor, isto é acumulando o valor digitado,
Espero que lhe possa ser útil. Fique com Deus, Boa Sorte. E_Marcondes
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim vRange As Range
If Target.Cells.Count > 4 Then Exit Sub
Set vRange = Range("D10")
If Not Intersect(Target, vRange) Is Nothing Then
If IsNumeric(Target) And IsNumeric(Target.Offset(0, 2)) Then
Target.Offset(0, 2) = Target + Target.Offset(0, 2) 'pulando uma coluna e inserindo a soma
End If
End If
Set vRange = Nothing
End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Viisual Basic Application) com Saberexcel
Baixe o exemplo de planilha contendo o procedimento acima
Excel planilha vba soma adicionando valores a uma celula ao digitar (24.66 kB)
Comentários
prezado, Antonio.
Faça o seguinte:
1 - ) no quadradinho acima linha(1) e antes da coluna(A)
clique e selecione todas as células
2 - ) com todas as células selecionadas, de um ctrl + 1,
abra a Caixa de diálogo Formatar Celulas > Aba Proteção > Bloqueie todas as células
3 - Agora vamos debloquear somente as células onde vão ser digitado o código para busca do provc.
4 - Selecione a Area da Coluna onde vai ser digitado somente o Código
5 - Com essa área selecionada - tecle control + 1 para abrir a caixa de dialógo Formutar células
6 - Vá até Proteção > e Desbloqueie essas células selecionadas que receberão os códigos.
7 - Va em protger > quando a caixa de dialogo abrir > selecione o item > Selecionar somente células desbloqueadas>
8 - Pronto - já poderá usar sua planilha.
fique com Deus,
Expedito marcondes
Set vRange = Range("D10") para
Set vRange = Range("D10", "D20") o D20 eh a linha final do que vc quer fazer , se tiver 200 linhas coloque D200
desde já agradeço..
obrigado pelo seu comentário,
Rodrigo, quando voce fala na em celulas, falamos também em linhas e colunas, porque uma célula é uma Interseção de Linhas e Colunas.
Para expandir seu intervalo de células é bem simples
voce poderia usar o Objeto Range na programação ou Cells(linhas, Colunas)
Mas como o assunto é muito intenso, se quiser me enviar seu exemplo para eu fazer um exemplo para voce prosseguir com seu projeto.
envie-me que faço pra voce.
Fique com Deus,
Expedito Marcondes
Escola Saberexcel VBA Estudos®
Mas o que ou gostaria de saber é como faço para bloquear a coluna G4 até G83 que ficam com o resultado acumulado pois tentei bloqueá-las conforme orientação, porém a programação rejeita.
um grande abraço
Que bom que o exemplo te serviu,
Elder, voce esta querendo bloquear as células, veja acima,
que após o desbloqueio total e o bloqueio somente celulas onde voce quer que o usuário navegue, depois do processo realizado, "Proteja a sua planilha" manualmente ou com macros.
Caso queira, envie-me sua planilha, pra eu ver pra voce.
Fique com Deus,
Expedito Marcondes.
Tenho um trabalho onde preciso acumular a soma de várias colunas, porém a Macro não está pegando os valores das células que contém a fórmula de somatório (∑). Como fazer para acumular o somatório?
Saul, seria melhor se enviasse um pequeno exemplo em uma planilha,
Para visualizarmos sua dúvida,
Fique com Deus,
Expedito Marcondes
Assine o RSS dos comentários