Notifications
Clear all

Localizar ou criar novo

58 Posts
2 Usuários
0 Reactions
6,661 Visualizações
(@macsof)
Posts: 0
New Member
Topic starter
 

Bom dia, pessoal.
Tenho 365 ficheiros, com 12 planilhas todas iguais, guardado com o nome do dia a que se referem(ex: 1.xlsm).
Tenho um outro ficheiro, chamado compras.xlsm, com 3 planilhas (2015,2016,2017( que vai buscar os dados aos ficheiros anteriores (1.xlsm, 2.xlsm, etc.) É uma espécie de base de dados criada por mim, não sabendo trabalhar com acess.
O que pretendo é criar, em cada um dos ficheiros de nome 1.xlsm, 2.xlsm, etc, e em todas as suas planilhas, uma pesquisa. Quando estou preenchendo, por exemplo, a planilha 1 de 1.xlsm, no campo "nome", gostaria que ele "varresse" as 3 planilhas de "compras.xlsm" à procura daquele nome. Caso existisse, os campos nome (C3), tipo de documento (A4), nº do documento(D4), Validade (M4), Data de Nascimento(W4), Contribuinte Nº(AH4), Morada(D5), Código Postal 1(AF5), Código Postal 2(AJ5), Localidade(E6), Telefone(W6) e e-mail(AD6) seriam preenchidos automaticamente com os dados lá disponíveis. Como é provável que o nome esteja em vários locais de compras.xlsm, seria importante selecionar o último registo, porque seria o que tem o campo Validade mais actualizado.
Os nomes das células que coloquei pertencem, obviamente, aos ficheiros 1.xlsm, 2.xlsm, etc, do qual vou postar aqui um.

Os campos correspondentes no ficheiro "compras.xlsm" (não posso postar aqui porque tem 80MB) são:
nome F, tipo de documento G, nº do documento H, Validade I, Data de Nascimento J, Contribuinte Nº K, Morada L, Código Postal 1 M, Código Postal 2 N, Localidade O, Telefone P e e-mail Q.

Detalhes:
Caso o nome não constasse, deveria permitir que os dados fossem preenchidos directamente na planilha (1.xlsm, etc.). A planilha compras.xlsm é só mesmo para ir buscar informações.
Deveria, quando fosse preenchido o campo M4, detectar se o documento perdeu a validade, avisar e permitir a actualização.
Este campo de pesquisa deverá estar fora da área de impressão, que vai de A1 a Ak58, ou caso fique dentro da área de impressão, que desapareça após cumprir os seus objectivos.

Onde eu escrevi "campos", entendam obviamente células.

Desculpem o abuso

 
Postado : 19/12/2015 6:06 am
(@macsof)
Posts: 0
New Member
Topic starter
 

Bom dia,

Obrigado por todo o seu trabalho.
Testei e me parece estar tudo bem. Vou continuar a testar na prática. Depois dou retorno.

Não se preocupe para já com "caixa", não corresponde exactamente ao que é necessário, mas não é urgente. Depois me dedicarei a lhe explicar melhor o objectivo, mas para já interessa-me muito mais o "compras" e "clientes", devido às suas implicações legais.

Tudo funciona bem, mas se eu for a "registo" e "clientes" e limpar todos os registos de teste que lá estão (excepto coluna N de clientes), me dá o erro que anexo, quando tento gravar nova compra.

 
Postado : 03/01/2016 6:21 am
(@mprudencio)
Posts: 0
New Member
 

Faça um teste

Exclua todas as linhas deixando somente as linha1 da folha registo, não apenas borre faça novamente os testes

Aqui esta a funcionar correctamente.

Estou a enviar novamente o ficheiro para que olhe inclusive ja corrigi a formatação da folha clientes que comentei anteriormente.

 
Postado : 03/01/2016 7:28 am
(@macsof)
Posts: 0
New Member
Topic starter
 

Olá,

Detectei os seguintes novos problemas, na folha compras, o restante parece estar corrigido.
1 - As células de colocação de fotos (A9, A10, etc.) estão protegidas, e têm que ser desprotegidas;
2 - Quando estás digitando as células não protegidas, o cursor volta sempre à célula G9;
3 - MUITO GRAVE. Não consigo entender o que aconteceu, mas agora os dados nas células AC9 até AC20 estão incorrectos ou não aparecem, o mesmo acontecendo com os dados de AF9 até AF20.

Obrigado

 
Postado : 03/01/2016 9:59 am
(@mprudencio)
Posts: 0
New Member
 

Estao desprotegidas de A9 a A20

2 provavelmente isso aconteceu pq o campo AM2 estava com dados deve estar vazio

A questao 3 sinceramente nao sei o que ocorreu mas olhando aos ficheiros anteriores essa coluna depende do valor que se informa em AR11 (Valor Final Acordado).

E isso mesmo????

Não sei se consegui fazer a correção.

Sinceramente nao sei pois nao mexi nessas formulas, pois deve se lembrar sempre que ocorria erros nessas formulas eu informava e solicitava que corrigisse.

Informei um nif de um cliente que esta com o documento vencido no exemplo para que vc veja o que acontece no campo validade.

 
Postado : 03/01/2016 11:19 am
(@macsof)
Posts: 0
New Member
Topic starter
 

Ok, obrigado.
2 - Era isso;
3 - Erro na minha fórmula de uma célula escondida, pus ela a procurar "940%0" e na célula N9 até N20 estava "950%0"

Relativamente às validades, está perfeito.

Obrigado.

Vamos falando

 
Postado : 03/01/2016 12:59 pm
(@mprudencio)
Posts: 0
New Member
 

Faça bom uso.

 
Postado : 03/01/2016 2:14 pm
(@macsof)
Posts: 0
New Member
Topic starter
 

Bom dia,

Estou tendo o seguinte problema:
Quando abro o computador de manhã (ele fica desligado durante a noite), a data em AH1 de "compras continua com o dia anterior, e após fazer uma compra, que ele guarda com data do dia anterior, muda para o dia actual.

Pode limpar os dados de teste, mantendo só o das compras 64, 65 e 66, que são verdadeiras?

Obrigado

 
Postado : 06/01/2016 4:19 am
(@mprudencio)
Posts: 0
New Member
 

Verifique a data e hora de seu sistema o codigo utiliza a data do sistema para registar a data na celula AH1, se a data estiver errada ele vai registrar errada, pelo pouco que sei a diferença entre Brasil e Portugual é de 2 horas. Aqui no Brasil é 01:00 PM em Portugal deve ser 03:00PM .

É provavel que data e hora estejam erradas.

Olhe a data do sistema logo pela manha...

Inseri mais uma linha para limpar a data que fica na celula AH verifique no ficheiro pdf se vai funcionar corretamente.

 
Postado : 06/01/2016 10:13 am
(@macsof)
Posts: 0
New Member
Topic starter
 

Olá, bom dia,

A hora está correta. A hora em Portugal é GMT+0, já tinha verificado antes. e o computador tem instalado o windows 10, que faz o acerto automático.
Testei o que me enviou, e, embora tenha registado no PDF com a hora correta, só amanhã vou verificar.
Porém, tem o seguinte inconveniente, eu costumo imprimir as folhas (compras), antes de guardar, no excel, para evitar ter que guardar, sair, abrir o ficheiro em PDF e imprimir. Agora, como a data desapareceu, ao imprimir em excel, não aparece a data, que é obrigatório.

Obrigado

 
Postado : 07/01/2016 4:19 am
(@mprudencio)
Posts: 0
New Member
 

E so ir no código

ALT +F11 modulo 1 na macro limpar apague a seguinte linha de código

.range ("AH1").clearcontents

 
Postado : 07/01/2016 4:29 am
(@macsof)
Posts: 0
New Member
Topic starter
 

Marcelo, ainda tem outro problema.
A numeração das folhas não sai correta.
Quando aparece no visor, por exemplo, a Nº 070, eu imprimo ainda no excel e sai direitinho, com o 070, mas guarda em PDF com 071, tanto no nome do ficheiro "071 - - 07.01.2016", como na célula B1 do PDF, onde aparece 071. Ou seja, ele tem o nº correto no excel, mas ao guardar avança 1. O número que me aparece no excel, depois de guardar, é igual ao que já está guardado.

Obrigado

 
Postado : 07/01/2016 1:44 pm
(@mprudencio)
Posts: 0
New Member
 

A primeira coisa a corrigir é esta troque a linha Arq do arquivo por esta
Arq = Format(Wcomp.Range("B1").Value, "000") & " - " & Wcomp.Range("C4").Value & " - " & Format(Date, "DD.MM.YYYY")

Na verdade so esta trocando o C3 pelo C4 para pegar o nome do cliente na hora de guardar o arquivo

Testei aqui e funcionou perfeitamente.

Apos a alteração que disse acima faça o seguinte crie uma venda qualquer abra o editor de vba e va no codigo guardar e ative o botao f8 ate que a linha arq fique amarela depois ative mais uma vez e coloque o cursor do excel em cima da palavra arq veja o que esta escrito este sera o nome do arquivo. ative f5 e veja com que nome saiu o resultado.

PS enviei uma mensagem particular

 
Postado : 07/01/2016 2:31 pm
(@mprudencio)
Posts: 0
New Member
 

Ja entendi o que esta acontecendo vc esta imprimindo antes de gerar o pdf na verdade vc deveria fazer isso depois.

Pois foi assim que o codigo foi pensado.

Faça o seguinte

Cole esse codigo no modulo 1

no final mesmo


Sub Imprimir()

Dim Wcomp As Worksheet

Set Wcomp = Sheets("Compras")

Wcomp.PrintOut , Copies = 3

End Sub


E no codigo Guardar escreva

Imprimir antes de limpar

Assim basta guardar o ficheiro e tudo saira conforme desejar.

O 3 é o numero de copias que vai imprimir ajuste como desejar.

 
Postado : 07/01/2016 2:57 pm
Página 4 / 4