Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por Diego100ges
Posts
#52330
Prezados, bom dia.
Gostaria de ajuda para o seguinte, possuo algumas planilhas com muitas linhas, onde um cliente tem lojas diferentes, e tenho dados horarios de cada loja de cada dia, vão de 0 a 23, gostaria de somar por exemplo, o valor de todas as lojas na hora 1 do dia 01/01/2019.
Então gostaria que a macro fizesse isso, na coluna A tenho o cliente, na B tenho as Lojas, na C a data, na E a hora e na D o valor.
Então, somar todos as lojas do mesmo cliente, no mesmo dia e hora, no final eu teria apenas 1 valor cheio para cada hora de cada dia.

Segue planilha exemplo.
Você não está autorizado a ver ou baixar esse anexo.
Por Diego100ges
Posts
#52335
Acho que não deixei muito claro na explicação;
Na planilha anexa eu tenho varias lojas de 1 mesmo cliente, porém eu quero saber o valor total de cada hora em cada dia, de todas as lojas (soma).
Então no resultado que eu quero são 8760 Linhas, (24 horas * 365 dias)

O resultado de todas as lojas na hora 1 do dia x
o resultado de todas as lojas na hora 2 do dia x

E assim sucessivamente.

É possível fazer em tabela dinâmica, porem eu necessito de uma macro pra soma, pois irei trabalhar os dados em outro formato, e não quero ter que fazer a dinâmica sempre que tiver novos dados.
Por Diego100ges
Posts
#52353
Alguma ideia de como fazer?
Por topscore
Posts
#52366
Olá Diego100ges:

Não entendi por que você precisa de macros, basta usar "Somases". Criei uma nova aba Relatório, 8760 linhas na tabela, fazendo exatamente o que você pediu.
*Célula A4, mude a data para 01/01/2020 se quiser passar para esse ano.
*Célula D4, mude a fórmula para fazer outros clientes. Se tiver outras abas como a que você mandou, com outros clientes, abra novas abas, copie/cole todo relatório, na D4 substitua "Clientes1" pelo nome da aba onde está seu próximo cliente, arraste para baixo.

Resolva o tópico se estiver resolvido.
https://www.dropbox.com/scl/fi/gkhpiznt ... l0sc7oqr4y
Por Diego100ges
Posts
#52380
topscore, obrigado pelo seu tempo, porém realmente preciso disso em VBA, vou trabalhar com próximo a 1 milhão de linhas, e quero evitar formulas para não pesar a planilha.

Eu montei uma versão de VBA que até funciona, porém acho que está engessada demais, se alguém conseguir dar uma olhada no código e ver se da pra melhorar alguma coisa fico grato!

No código atual eu chamo uma inputbox pra informar o nome do cliente que quero somar, e outra para dizer em qual coluna eu quero o resultado, seria ótimo se o código já entendesse sozinho quando é um cliente diferente e já desse o resultado em outra coluna, sem eu precisar ficar informando esses dados.

Segue anexo.

Obrigado!
Você não está autorizado a ver ou baixar esse anexo.
Por topscore
Posts
#52400
Diego100ges

Não sei como implementar seu código, não tenho essa manha toda. Todo caso, segue uma planilha que deve resolver seu problema ( se você mantém seus clientes em abas separadas, cada uma com aquela tabela que você mandou).
Repare que você deve cadastrar todos clientes (Cadastro) e o nome resumido é exatamente igual ao da aba.
Na aba relatório, não inclua nem exclua linhas e colunas, cada célula deve ficar exatamente onde está. Mas pode ocultar e formatar.

Arquivo muito grande, usei o dropbox:

https://www.dropbox.com/scl/fi/r53enuvl ... 6x7zt89xvx
Por topscore
Posts
#52401
Outra coisa Diego100ges

Sempre que ele gera o relatório, no final ele deixa os cálculos manuais. Isso vai afetar seus outros arquivos. Vá em Arquivo, Opções, Fórmulas para deixar automático, até você gerar outro relatório. Ou coloque um botão e manre rodar a macro "Auto" (já existe).
Quando se trabalha com tabelas desse tamanho, rodar códigos no modo automático demora muito tempo, às vezes minutos, por isso faço manual e aperto F9 quando preciso.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord