Ir ao conteúdo

Posts recomendados

Postado

Boa tarde!!

Pessoal estou buscando apreender mais dos recursos do VBA, ainda estou em um nível inciante, e gostaria de saber se é possível realizar uma somase em vba na seguinte situação (com intervalo/range "nomeado"):

 

Dim rng1 'As Range
Dim rng2 'As Range

Dim linha1

Dim linhai

rng1 = ActiveSheet.Range(Cells(linhai, 3), Cells(linha1, 3))
rng2 = ActiveSheet.Range(Cells(linhai, 8), Cells(linha1, 8))
ActiveSheet.Cells(linha1 + 1, 8).Value = Application.WorksheetFunction.SumIf(Range("rng1"), "TOTAL MICRO", Range("rng2"))

 

Percebo que o vba identifica os intervalos(range), porém no momento de fazer o somase tenho dúvidas se ele esta entendendo o rng1 e rng2 como o range dos dados, ele executa a somase mas o resultado é zero.

 

Para explicar um pouco mais, esta somase esta dentro de um loop, e a minha ideia é ir alterando o range conforme o loop for sendo processado, e assim realizando a somase.

Espero que eu tenha sido claro.

 

Desde ja agradeço as sugestões.

Guilherme

Postado

Levando em conta o seu codigo eu faria assim:

 

Sub SomaseVBA()

Dim UltimaLinha As Long
Dim W As Worksheet


Set W = Sheets("Planilha1") 'Troque pelo nome da sua planilha
'Evite usar activesheet, a possibilidade de erros na hora de execução é muito grande
'Pesquise tambem sobre codname diminui ainda mais a possibilidade de erros na hora da execução

 

'Ultima Linha com dados

UltimaLinha = W.Range("A" & Rows.Count).End(xlUp).Row

 

'Somase em VBA

'Coloquei o resultado em C1 mas acho que você nao tera dificuldade em modificar.

 

W.Range("C1").Value = Application.WorksheetFunction.SumIf(W.Range("C2:C" & UltimaLinha), "total micro", W.Range("H2:H" & UltimaLinha))

 


End Sub

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...