Notifications
Clear all

VBA identificando intervalos e somando valores.

8 Posts
2 Usuários
0 Reactions
1,101 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal boa tarde.

Tenho cadastro no forum a alguns anos, mas ultimamente tenho pesquisado muito e tenho me saído muito bem no que preciso. Porem, hoje tive uma necessidade que busquei muito e nada me atendeu, resolvi perguntar.

Tenho um arquivo, com algumas planilhas onde preciso identificar os valores por cidade e por data de recebimento. Por exemplo, no dia 29/09 tenho um valor de recebimento que é a soma de valores de varias cidades. preciso de um codigo que identifique a linha de começo e fim desse intervalo, some o intervalo, se o somatorio for igual ao valor de recebimento, preencha outra coluna com a data daquele recebimento.

No arquivo modelo em anexo tem informações mais detalhadas, sobre como identificar o inicio e o fim do intervalo, o valor total pra comparar com a soma e o valor que deve ser preenchido caso tudo isso seja verdadeiro.

desde ja grato.

 
Postado : 22/07/2015 11:42 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

ninguem? :|

 
Postado : 23/07/2015 3:57 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoa boa tarde.

Estou a todos esses dias tentando desenvolver essa macro, mas esta complicado. Sou iniciante em VBA e alguns comandos, conceitos não estão tão claros em minha mente. Sei a logica do processo, não sei escrever isso em VBA.

Estou postando um novo modelo, com parte do codigo que ja escrevi e sua logica.

se alguém puder me ajudar, ficarei muito grato.

Caso nao possa me ajudar com o codigo que necessito, se puder me orientar em como varrer uma coluna e identificar a primeira a segunda e a ultima palavra a aparecer nessa coluna, ja me adianta muito.

Obrigado a todos.

 
Postado : 24/08/2015 7:58 am
(@mprudencio)
Posts: 0
New Member
 

Cara pelo que eu entendi vc quer conferir se nao tem erros na planilha, se for isso acho que uma tabela dinamica resolve.

Testa isso

 
Postado : 24/08/2015 8:34 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Marcelo, obrigado pela atenção camarada, mas nao é bem isso.

tenho uma relação de pagamentos e entre esses dados de pagamentos, tenho "sub totais". digamos que na linha 10 eu tenha um subtotal. esse subtotal tem que ser o somatorio das linhas 2 ate 9 da coluna V, por exemplo. Digamos que na linha 25 eu tenha outro subtotal, esse outro subtotal precisar ser igual ao somatorio das linhas 11 ate 24 dessa mesma coluna V. os valores e os subtotais ficam todos na coluna V. se esse somatorio conferir com o subtotal, preciso que preencher ao lado de cada valor somado a data que esse subtotal foi feito. pra isso vou usar procv, ja consegui desenvolver isso em vba.

minha dificuldade: identificar onde estao esses subtotais. somar os valores entre esses subtotais e verificar se a soma é igual ao subtotal, se sim, procurar a data correspondente e copiar ao lado de cada valor, se nao nao faz nada e continua a conferencia para o proximo subtotal.

mais uma vez obrigado meu caro.

 
Postado : 02/09/2015 5:11 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Albuquerque

Como vc deseja com macro, por isso eu não me manifestei antes, mas acredito que da para resolver usando fórmulas, tendo como critérios as datas que você não lançou na coluna R da tua planilha.

Se servir com fórmulas, podemos tentar, mas para isso, anexe a planilha com as datas na coluna R.

[]s

 
Postado : 02/09/2015 5:55 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Se seguir a dica do Patropi com certeza ele resolve com formulas, mas pelo que entendi, você não tem as datas lançadas na coluna R, e o que não entendi é se o total bater copiar a data da planilha "SAQUE" pois não vi relação com a data e o total, uma vez que o total na planilha PagSeguro é R$ 3.830,32 e na planilha SAQUE é R$ 3.389,28.

Mas supondo que foi erro de digitação e quer utilizar VBA, poderia tentar ajustar a ótima rotina enviada pelo Reinaldo no tópico abaixo:
Referência Absoluta em VBA [Resolvido]
viewtopic.php?f=10&t=17157&start=10
, que acredito se encaixa em sua questão, agora já estou indo deitar que vou enfrentar dois dias de curso, mas só para ter uma base e testar pelo menos no primeiro bloco de "SAQUES" a rotina ficaria mais ou menos assim :

Private Sub SomaSaques()
'Adaptação da rotina do Reinaldo Forum Planilhando
'http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=17157&start=10

    Dim nLSA As Integer, iLSA As Integer
    
    iLSA = Application.Match("S A Q U E*", Sheets("PagSeguro").Range("S1:S70"), 0) + 1
    nLSA = Application.Match("S A Q U E*", Sheets("PagSeguro").Range("S3:S70"), 0) + 1 
    
    sSoma = Application.Sum(Range(Cells(iLSA, 22), Cells(nLSA, 22)))

End Sub

Pode acrescentar linhas entre as linhas 3 e 8 e verá que sempre será somado corretamente, veja se consegue ajustar utilizando do while ou um for next.

[]s

 
Postado : 02/09/2015 6:46 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Mauro, muito obrigado pela ajuda.

Vou tentar usar o que voce me mandou, ajustar alguns detalhes e testar.

na pior, retorno aqui com uma explicação mais bem feita, de fato, no modelo enviado, tive que suprimir algumas informações e na explicação eu nao me atentei.

mais uma vez obrigado. semana que vem volto com um parecer. Abraço.

 
Postado : 11/09/2015 1:35 pm