Ir ao conteúdo

Posts recomendados

Postado

Olá amigos boa tarde!

Estou tentando criar um cadastro, mas preciso de algumas orientações. Cheguei ao ponto onde consegui alcançar o objetivo, salvar as informações, consultar, e atualizar porém, existem algumas dúvidas e alguns pontos onde não achei resposta na net, no YouTube fiquei bem curioso como poderia proceder para melhorar esse VBA, vamos lá!
 

  1. O vba ficou ultra lerdo.
  2. A tela treme demais! mesmo com o application update screen false no ínicio, acho que é porque durante o cód fico trocando de sheet.
  3. Na primeira etapa, na sheet Forms, gostaria de saber como poderia fazer para dinamizar o armazenamento de dados diretamente para a BD, pois eu modelo os dados antes em outra sheets e só dai mando para o BD.
  4. Durante o preenchimento do formulário eu utilizei o Private Sub Worksheet_Change(ByVal Target As Range) para fazer alguns procvs, mas dai percebi que quando roda o cód de pesquisa, ele também passa várias vezes por essa etapa, gerando lentidão, tem como durante o processo de pesquisa não usar essa sub? ou haveria outro método ?

 

Vou disponibilizar a planilha e espero que ajude os próximos que estão estudando VBA assim como eu, a compreender melhor e sanar dúvidas.

Desde já agradeço a ajuda!

almox.JPG

almox2.JPG

08-Almox.xlsxBuscando informações...

Postado

No formato q você salvou (.xlsx) as macros não vieram; você poderia usar mais tabelas nomeadas; talvez você consiga agilizar mais um pouco as coisas com uso de fórmulas e Power Query com chamada de macro.

Postado

Ok...

Uma planilha q cresce muito em complexidade tem q ser muito bem organizada ou só um profissional full time p/ dar conta.
você deveria usar mais fórmulas porque elas são mais fáceis de administrar, são mais rápidas, não adicionam muita complexidade. 

Tem muita macro fantasma na sua planilha, melhor fazer uma de teste e outra p/ trabalhar mais "limpa".

No seu formulário você fez muito uso de mesclagem de células q me parecem desnecessárias.

P/ te ajudar me proponho a fazer uma arrumada geral antes de qq coisa. Retirar código inútil, usar algumas fórmulas, melhorar o layout do formulário.

  • Curtir 1
Postado

Nessa planilha:

  • Retirei linhas e colunas desnecessárias na aba Forms;
  • Na célula B39 alterei sua fórmula de exibição; 
  • Suas fórmulas ao lado do seu formulário se prolongavam até a linha 700 e isso aumenta desnecessariamente o tamanho do seu arquivo;
  • Por conta do Excel 365 eu utilizei a função FILTRO() em apenas uma célula (AE14) p/ fazer a busca q você estava fazendo por macro, muito mais eficientemente, puxando todas as linhas e colunas q você queria sem ter q ficar alongando a aplicação da fórmula;
  • Nas duas linhas exibidas é respeitada a busca por "verg" da condição acima;
  • Na aba Consulta você parece estar refazendo o formulário anterior, uma boa prática, mas penso q você não precisa nomear as células q você quer buscar o resultado se você relacionar os nomes da coluna P com o resultado da coluna T. Esse relacionamento resolve boa parte dos problemas de acesso a esses dados.
  • Não sei bem o q você pretende na tabela da aba Matrix_Reload.
  • Na aba Matriz_01 você parece estar procurando novamente utilizar a pesquisa "verg", porque fazer essa pesquisa em qq lugar e porque não usar uma segmentação de dados na tabela?
  • Na aba Bd_movimentação novamente a pesquisa "verg". Alterei a visualização da data na coluna C. No geral tb alterei o nome das suas tabelas p/ algo mais significativo q 'Tabela2';
  • Tabela dinâmica, alteração no nome da aba e na visualização da TD;
  • Nova aba 'Lista Nomes' p/ ajudar a administra e entender todos os seu intervalos nomeados;
  • Ainda não olhei suas macros.

Dependendo da sua versão do Excel algumas soluções por fórmula não poderão ser implantadas.

08-Almox DJ.zipBuscando informações...

  • Curtir 1
Postado

@DJunqueira bom dia, tudo bem?!

Muito obrigado pela ajuda!
Então o propósito desse projeto, é facilitar o uso da tecnologia para pessoas que não dominam informática, e maximizar a localização da informação, no setor de recebimento, tenho 2 funcionários idosos no setor, e preciso facilitar o serviço deles para não impactar a operação.


Bom, vamos lá:
 

Na aba Forms, o objetivo é que o usuário possa preencher o formulário indicando se é recebimento ou movimentação interna. Para recebimento deve preencher os campos de cnpj, nota fiscal, data do recebimento, a qual fábrica se destina e quem recebeu, já a movimentação interna, preenche setor, numero, e solicitante. E ao clicar na imagem de "Salvar" transferir os dados desse formulário para a Bd_movimentação. porém eu ainda não sei como fazer diretamente.

 

  Em 29/10/2021 às 14:30, DJunqueira disse:

Por conta do Excel 365 eu utilizei a função FILTRO() em apenas uma célula (AE14) p/ fazer a busca q você estava fazendo por macro, muito mais eficientemente, puxando todas as linhas e colunas q você queria sem ter q ficar alongando a aplicação da fórmula;

Expandir  

Ficou bom! Eu tinha usado uma lista de fórmula ao lado da tabela pois alguns pcs aqui ainda não tem o 365, vou solicitar hoje ao TI a implementação,(se possível).

 

  Em 29/10/2021 às 14:30, DJunqueira disse:

Não sei bem o q você pretende na tabela da aba Matrix_Reload.

Expandir  

Por eu ainda não dominar o vba, ainda apanho bastante para fazer algumas coisa, tais como, transferir os dados diretamente do Forms para a Bd_movimentação. Essa sheet Matrix_Reload, serve para modelar como os dados chegam na Bd_movimentação.

 

 

  Em 29/10/2021 às 14:30, DJunqueira disse:

Na aba Matriz_01 você parece estar procurando novamente utilizar a pesquisa "verg", porque fazer essa pesquisa em qq lugar e porque não usar uma segmentação de dados na tabela?

Expandir  

Essa busca em especifico serve para o pessoal do almoxarifado, procurar por qualquer termo na tabela e achar as correspondências, por exemplo, se ele escrever "Entrada", obtém como resultado todos os itens da lista que contém o termo procurado. Acredito que a função FILTRO() também ajude nessa tarefa.

 

  Em 29/10/2021 às 14:30, DJunqueira disse:

Na aba Bd_movimentação novamente a pesquisa "verg". Alterei a visualização da data na coluna C. No geral tb alterei o nome das suas tabelas p/ algo mais significativo q 'Tabela2';

Expandir  

Aquele formato de de data, facilita depois na tabela dinâmica? Não tinha o hábito de deixar nesse novo formato, sempre deixei resumido.

 

 

 


Fico no aguardo para as demais orientações! 

Muito obrigado pela ajuda! 

  Em 29/10/2021 às 12:58, DJunqueira disse:

Qual sua versão do Excel?

Expandir  

A maioria dos PCs aqui tem o 2016.

Postado

Veja um exemplo de como você poderia armazenar seus dados sem macro utilizando a ferramenta do Excel Power Query (já instalada no 2016, no 2013 e 2010 tem de instalar).

 

No meu entender simplifica a manutenção da planilha, deixando macros p/ executarem tarefas mais complexas. Notar q o arquivo é .xlsx, portanto sem macro!

Na célula A2 você entra com o código da NF, não pode ser um número já armazenado, depois em C2 você seleciona a empresa, na célula A5 os dados da empresa serão mostrados (supondo q você irá cadastrar a empresa antes de selecionar o nome), em C5 altere a data.

Na tabela (T_Produto) p/ preenchimento dos produtos e quantidades abaixo você pode Excluir todas as linhas, mas não Limpar conteúdo, por conta da fórmula em C8. Entre com produtos cadastrados únicos e as devidas quantidades.

Após o procedimento acima vá em Dados e clique no botão Atualizar Tudo p/ ver o resultado.
As tabelas auxiliares p/ obter este resultado final estão na ferramenta Power Query com as dividas etapas descritivas.
O Power Query é uma espécie de programação assistida onde você basicamente não precisa se preocupar com a codificação, ainda q você possa modificar num estágio mais avançado de programação se você quiser.
A Tabela T_NF_Final é uma tabela intermediária p/ você ver como ficam montados os dados antes de serem armazenados na Tabela Transações

A ordem das tabelas no dentro do Power Query é importante, não altere!

Se você compreender a simplicidade desta forma de armazenar dados poderei fazer o mesmo com sua planilha simplificando razoavelmente a vida do programador responsável pela manutenção da mesma.

 

Obs.: Na programação com macro, sempre q você ver .Select tenha em mente q muito provavelmente essa linha pode ser retirada ou emendada com a linha seguinte q executa a ação.

Exemplo cadastro PQ.xlsxBuscando informações...

Postado

@DJunqueira Bom dia, tudo bem!?

 

Essa proposta conseguiria manter o layout visual do projeto? 

  Em 30/10/2021 às 06:18, DJunqueira disse:

Excel Power Query

Expandir  

Comecei a estudar para pelo menos entender o conceito proposto.

 

  Em 30/10/2021 às 06:18, DJunqueira disse:

depois em C2 você seleciona a empresa,

Expandir  

Nesse caso seria interessante fazer procv no cnpj da empresa, caso tenha carrega as infos, caso não aceitar preencher ou cadastrar.

Tipo se a empresa tiver mais de 800 cadastros de empresa, aparece uma lista enorme para selecionar, seria isso né? 

 

  Em 30/10/2021 às 06:18, DJunqueira disse:

A Tabela T_NF_Final é uma tabela intermediária p/ você ver como ficam montados os dados antes de serem armazenados na Tabela Transações

Expandir  

Excelente! isso é algo que eu preciso aprender! isso é o conceito que eu estava buscando!

 

  Em 30/10/2021 às 06:18, DJunqueira disse:

Se você compreender a simplicidade desta forma de armazenar dados poderei fazer o mesmo com sua planilha simplificando razoavelmente a vida do programador responsável pela manutenção da mesma.

Expandir  

@DJunqueira nossa, era isso sim! Nesse novo modo de armazenagem de dados vai ser possível visualizar os seguintes itens?

  1. Consultar itens cadastrados( Uma matriz), ( acho que a primeira proposta do filtro() já atendia isso)
  2. Cadastrar item não localizado.
  3. Consultar o último movimento ( para checagem ou alteração caso cadastrado errado)
  4. Relatório final de movimentação ( acho que isso da para fazer via tabela dinâmica)

O que eu preciso manter no projeto é o layout inicial ou o mais parecido possível.

 

Ficou muito bom! Gostei sim! E espero aprender com essa remodelação de projeto! 

Nossa estou muito empolgado com essa oportunidade de aprendizado!
@DJunqueira Mais uma vez obrigado pela iniciativa! E bom final de semana!

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!