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 SandroLima
#41362
Boa tarde, colegas do fórum.

Estou fazendo uma planilha com duas abas uma dela contendo a tabela "TB_Condomínio" e a outra aba contendo 5 tabelas:
- "TB_ItensRecorrentes" ou Tabela 1;
- "TB_ItensNaoRecorrentes" ou Tabela 2;
- "TB_ItensSaude" ou Tabela 3;
- "TB_ItensNaoCompartilhados" ou Tabela 4;
- "TB_AbatimentosAntecipacoes" ou tabela 5)

As 5 tabelas juntas compõem um relatório mensal que preciso enviar para cada condômino.

Na tabela da Aba "CONDOMÍNIO" são inseridos todos os gastos mensais durante todo o ano. Nela também é informado a que grupo de despesas pertence (são 5 tipos que correspondem às 5 tabelas da aba "RELATÓRIO MENSAL") e também quem foi o responsável pelo pagamento daquela despesa ou antecipação de pagamento.

Preciso de uma macro que será indexada ao botão "GERAR RELATÓRIO"da aba "RELATÓRIO MENSAL" e que de acordo com o Mês e Ano selecionados nas células "C2" e "D2" da aba "RELATÓRIO MENSAL" importe os valores para a tabela corresponde ao grupo e coluna do responsável pelo pagamento da aba "RELATÓRIO MENSAL" .

Alguém sabe como proceder nesse caso (tenho que dividir por grupo de despesa e responsável pelo pagamento)?
Todas os intervalos e tabelas estão nomeados.

Segue planilha anexa para exemplificação e testes.

Muito obrigado a quem puder colaborar.
Você não está autorizado a ver ou baixar esse anexo.
Por babdallas
#41397
Anexa um relatório com um exemplo de resultado esperado em cada umas das tabelas. Assim fica mais fácil de ajudar e a entender seu problema.
Por SandroLima
#41407
Boa noite

Conforme solicitado segue em anexo a planilha com o resultado desejado na aba "RELATÓRIO MENSAL".

O resultado desejado (colocado como exemplo) corresponde ao mês de Fevereiro de 2019.

A macro "GERAR RELATÓRIO" deve ter como critério o mês e ano selecionados nos intervalos "MesReferencia_RelMensal" e "AnoReferencia_RelMensal", respectivamente.

E somente deve importar os dados que tenham o "Status" como "Pago".

Espero ter explicado a necessidade de forma mais clara. Qualquer dúvida estou à disposição.

Mais uma vez obrigado.
Você não está autorizado a ver ou baixar esse anexo.
Por SandroLima
#41455
Bom dia, colegas do fórum.

Estou fazendo uma planilha com duas abas uma dela contendo a tabela "TB_Condomínio" e a outra aba contendo 5 tabelas:
- "TB_ItensRecorrentes" ou Tabela 1;
- "TB_ItensNaoRecorrentes" ou Tabela 2;
- "TB_ItensSaude" ou Tabela 3;
- "TB_ItensNaoCompartilhados" ou Tabela 4;
- "TB_AbatimentosAntecipacoes" ou tabela 5)

As 5 tabelas juntas compõem um relatório mensal que preciso enviar para cada condômino.

Na tabela da Aba "CONDOMÍNIO" são inseridos todos os gastos mensais durante todo o ano. Nela também é informado a que grupo de despesas pertence (são 5 tipos/grupos que correspondem às 5 tabelas da aba "RELATÓRIO MENSAL") e também quem foi o responsável pelo pagamento daquela despesa ou antecipação de pagamento.

Preciso de uma macro que será indexada ao botão "GERAR RELATÓRIO"da aba "RELATÓRIO MENSAL" e que de acordo com o Mês e Ano selecionados nos intervalos "MesReferencia_RelMensal" e "AnoReferencia_RelMensal", respectivamente, importe os valores para a tabela correspondente ao grupo e coluna do responsável pelo pagamento da aba "RELATÓRIO MENSAL" .

Todas os intervalos e tabelas estão nomeados.

***OBS***
1) Somente devem ser importados os dados da tabela que tenham o "Status" como "Pago";
2) A macro deve ter em seu início codificação para limpar os campos das tabelas de destino e a exclusão da primeira linha até a penúltima linha de cada tabela de destino) uma vez que elas receberão os dados conforme mês e ano selecionados e a quantidade de linhas pode ser variável.


Espero ter explicado a necessidade de forma mais clara. Qualquer dúvida estou à disposição.

Segue planilha para exemplificação e testes.

O resultado desejado (colocado como exemplo) corresponde ao Mês de Fevereiro e Ano de 2019.

Mais uma vez obrigado.
Você não está autorizado a ver ou baixar esse anexo.
Editado pela última vez por SandroLima em 21 Fev 2019 às 12:19, em um total de 1 vez.
Por babdallas
#41456
Porque voc~e não gera este relatório com tabela dinâmica ao invés de usar VBA?
Por SandroLima
#41457
Bom dia, babdallas.

Na verdade não tenho o hábito de usar as tabelas dinâmicas... um modelo seria bem vindo.

Mas esse modelo que estou propondo se pudesse me ajudar seria muito bem vindo.
Se trata do modelo exato que envio para o escritório de contabilidade em PDF (porém o faço manualmente todo mês) e estou muito engajado com VBA ultimamente.

Obrigado pela atenção.
Por babdallas
#41462
Fiz com fórmulas. Como seu relatório tem estrutura meio fixa, aí fazer com tabela dinâmica não vai ficar muito prático.
Você não está autorizado a ver ou baixar esse anexo.
Por SandroLima
#41466
Obrigado, babdallas.

Já coloquei em teste aqui. E de primeira impressão pareceu que era essa a solução.
Fiz com fórmulas. Como seu relatório tem estrutura meio fixa, aí fazer com tabela dinâmica não vai ficar muito prático.
Na verdade, nem tão fixa assim...

O que não muda:
- A quantidade de salas e os grupos de despesas... e portanto as tabelas de destino serão sempre as mesmas para cada grupo/tipo de despesa.

O que muda:
- a quantidade de itens de cada grupo pode variar e portanto a quantidade de linhas das tabelas de destino.

Já fazendo alguns testes aqui... aumentei por exemplo a quantidade de despesas destinadas à 1ª tabela de destino ("TB_ItensRecorrentes") e a tabela não acompanhou esse aumento da quantidade de itens. Outra coisa que verifiquei que tenho como necessidade... se o status estiver diferente de "Pago" na tabela de origem que ele importe o item para a tabela de destino, porém que o campo de valor fique em branco.

Pensei em uma alternativa mas não soube aplicar. Diga o que acha, por favor.

Tempos atrás você elaborou um código para mim em que se criava uma matriz de dados (a partir de uma base de dados) com os dados que atendiam a determinada condição.
Não sei se vai lembrar na época era os que tinham como condição "itens recorrentes" em uma planilha de atividades diárias mas que se repetiam mês a mês... uso a macro para uma planilha de fluxo de caixa.

Enfim... uso esse código hoje em várias aplicações... por isso esses dias perguntei sobre a importação de uma coluna com valores (na forma contábil) e inclusive você sugeriu como opção criar uma matriz do tipo currency que serviu prontamente para o que eu necessitava.

Mas em todas as aplicações que fiz até agora usando seu código havia uma única tabela de destino e eu não soube agora como modificar a macro já que agora podem haver 5 condições (grupos de despesas) e 5 tabelas de destino (referentes aos tipos/grupos de despesa).

Como alternativa pensei em criar 5 macros cada uma atendendo a uma condição e tendo uma tabela de destino. E através de um único botão executar as 5 macros.

E até aí tudo bem parecia uma alternativa... até que me deparei com outra questão onde o pagante da despesa pode variar... e isso eu nem imagino como levar para a macro ou para as macros.

Além disso o seu código anterior ele só acrescentava os dados na planilha de destino... esse vai ter que agir como filtro, atendendo apenas o período (Mês e Ano) selecionado e importar a coluna de valor somente se constar o status de "Pago". Se o status for diferente de "Pago" ele deve sim importar o tem de despesa para a tabela de destino... mas o campo valor deve ficar em branco mesmo que ele esteja preenchido na tabela de origem.

Tem alguma ideia nesse sentido?
Por babdallas
#41468
Por favor, mostre qual resultado não está satisfatório. Além disso, mostre a maneira que você deseja que fique no final, com todas as restrições possíveis que você deseja.
Por SandroLima
#41472
Seguindo então a sua sugestão com fórmulas.

Faça os seguintes testes:

1) Pegue como exemplo o item "Telefone" de 10/02/2019 e mude o Status para "Aguardando pagamento". Veja que a fórmula continua lançando o valor na tabela de destino quando deveria retornar "vazio" já que não apresenta o Status "Pago".

2) De maneira inversa, coloque o item "Água" do dia 24/02/2019 e mude o Status para "Pago". Ele não lança o valor na tabela de destino.

E completando uma das necessidades:

Verifique que ao acrescentar 2 itens "Instalação persianas" em 16/02/2019 e "Compra de vasos decorativos" em 14/02/2019, perceba que a tabela de destino não recebeu todos os itens... por isso que mencionei que deveria atuar como filtro adicionando e excluindo linhas conforme a quantidade de itens.

Ah, babdallas... a primeira tabela de destino ("TB_ItensRecorrentes") percebi que deixou o itens com "termos fixos"... preciso que assim como nas outras tabelas eles retornem por fórmula pq a nomenclatura dos itens pode mudar nos meses seguintes.
E na última tabela de destino ("TB_AbatimentosAntecipacoes") está retornando um erro (tem item retornando com 2 pagantes e trazendo a data errada).

Segue a planilha com os testes aplicados.
Marquei em laranja na aba "CONDOMINIO" os testes realizados e em amarelo na aba "RELATORIO MENSAL" onde precisa acrescentar a fórmula e o erro verificado na última tabela.
Você não está autorizado a ver ou baixar esse anexo.
Por babdallas
#41514
Veja se melhorou.
Você não está autorizado a ver ou baixar esse anexo.
Por SandroLima
#41520
Obrigado, babdallas... já ajudou muito.

Só precisava ainda de um "controle dinâmico" da quantidade de linhas nas tabelas de destino.

Acrescentar linhas ou excluir conforme a quantidade de itens... é possível?

Tenha um bom dia.
Por babdallas
#41522
Sim. Farei assim que possível.
Por SandroLima
#41532
Ok, babdallas... ficarei no aguardo.

Segue planilha final onde fiz a aplicação das fórmulas que você elaborou... infelizmente não trouxe o mesmo retorno apresentado no seu.

Poderia apontar o meu erro aqui nesse arquivo anexo?

Se puder fazer a aplicação do "controle dinâmico" da quantidade de linhas nesse arquivo.... não mexerei mais na estrutura dele.

Desde já muito agradecido.
Você não está autorizado a ver ou baixar esse anexo.
Por babdallas
#41541
Fiz para a primeira tabela. Precisa fazer as fórmulas para as demais tabelas e fazer um trecho de código semelhante para as demais tabelas. Tente adaptar.
Você não está autorizado a ver ou baixar esse anexo.
Por SandroLima
#41576
Bom dia, babdallas.

Continuo fazendo os testes aqui.

Consegui adaptar as fórmulas para as demais tabelas e funcionou perfeitamente.

O contador que faz o "controle dinâmico" do número de linhas é que apresenta falhas. Alterne por exemplo entre os mês de Janeiro e Fevereiro mais de uma vez, por exemplo, e verá o problema.

Vou realizar mais alguns testes e ver se ajusto... mas se tiver uma alternativa fico no aguardo.

Obrigado.
Por babdallas
#41598
Veja agora.
Você não está autorizado a ver ou baixar esse anexo.
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