CÓDIGOS VBA MODELOS...
FUNÇÃO NUM_AUTO
Bom galera com a intenção de agilizar o tempo e o aprendizado estou desenvolvendo Códigos Modelos onde vamos trocar apenas as referências do código e em alguns segundos terá um código funcionando perfeitamente...
O código de hoje é o mesmo que usei nos dois posts que fiz sobre cadastro, o mesmo foi usado para gerar um numero de registro para cada item cadastrado...
Quem não viu os post sobre Cadastro tirem um tempinho e leiam pois é fundamental praticar para entender como funciona e assim poder caminhar de acordo com sua necessidade...
Vejam o código e em seguida farei um exemplo usando-o em uma planilha.... a qual sugiro que salvem para darmos continuidade nos próximos posts...
Function NOME()
Dim BANCO As Database
Dim TABELA As Recordset
Set BANCO =
OpenDatabase(ThisWorkbook.Path & "/" & ThisWorkbook.Name,
False, False, "EXCEL 8.0")
Set TABELA = BANCO.OpenRecordset("PLANILHA$")
If
TABELA.EOF And TABELA.BOF Then
FORMULARIO.OBJETO = 1
Else
TABELA.MoveLast
FORMULARIO.OBJETO =
Format(TABELA("CAMPO")
+ 1)
End If
End
Function
EXPLICANDO AS MARCAÇÕES
(todo o restante do código é só copiar e colar)
NOME
= NOME PELO QUAL A FUNÇÃO SERÁ CHAMADA QUANDO HOUVER NECESSIDADES...
PLANILHA
= NOME DA PLANILHA QUE RECEBERÁ O CÓDIGO CRIADO NA HORA DA GRAVAÇÃO...
FORMULARIO
= NOME DO USERFORM...
OBJETO
= NOME DO OBJETO O QUAL IRÁ EXIBIR O NÚMERO...
CAMPO
= CAMPO NA PLANILHA ONDE CONTEM AS INFORMAÇÕES DO NUMERO AUTOMÁTICO...
NA PRÁTICA
Bom então vamos por em prática o código modelo...
Não vou fazer o passo a passo, pois tenho 2 posts divididos em 3 partes cada, que explica como fazer cada ação descrita neste post...
1° Abrir o Excel e salvar como "Pasta de trabalho Habilitada para Macros"
2º Habilitar a referencia "Microsoft DAO 3.6 Object Library"
Veja como se faz em meu blog no post :
http://excelamador.blogspot.com.br/2013/02/ativando-referencia-microsoft-dao-36.html
3º Alterar o nome da planilha...
Para esse exemplo vou colocar teste_numero...
4° Colocar o titulo do nosso campo na planilha...
que nesse exemplo será NUMERO
Finalizamos a parte da planilha agora vamos para o Editor VBA...
5° Abrir o Editor VBA (Alt + 11)...
6 º Inserir um UserForm...
7 ° Inserir uma caixa de texto (TextBox)...
8 º Inserir um Módulo...
9 ° Copiar e colar o código modelo dentro do módulo1...
Agora devemos trocar as referencias, pelas respectivas em nosso projeto.
Vamos iniciar trocando o nome da Função de NOME para NUMERO...
PLANILHA ... Devemos informar ao código em qual planilha ele fará referência para o código...em nosso exemplo é teste_numero
CAMPO ... Devemos informar também qual campo na planilha é a referência...que é o campo NUMERO para esse exemplo
FORMULARIO ... Devemos também dizer qual será o Userform usado no código, pois como o código está escrito dentro de um módulo, então o não irá encontrar o formulário sem a sua descrição...
OBJETO ... O objeto o que irá mostrar na tela o numero do registro a ser gravado...
Pronto agora é só abrir o código do formulário no evento initialize e chamar a função criada dentro do módulo 1...
Ao executar o UserForm o resultado deverá ser 1, sendo que ainda não tem nenhuma informação em nosso banco de dados....
http://excelamador.blogspot.com.br/2013/02/ativando-referencia-microsoft-dao-36.html
3º Alterar o nome da planilha...
Para esse exemplo vou colocar teste_numero...
4° Colocar o titulo do nosso campo na planilha...
que nesse exemplo será NUMERO
Finalizamos a parte da planilha agora vamos para o Editor VBA...
5° Abrir o Editor VBA (Alt + 11)...
6 º Inserir um UserForm...
7 ° Inserir uma caixa de texto (TextBox)...
8 º Inserir um Módulo...
9 ° Copiar e colar o código modelo dentro do módulo1...
Agora devemos trocar as referencias, pelas respectivas em nosso projeto.
Vamos iniciar trocando o nome da Função de NOME para NUMERO...
PLANILHA ... Devemos informar ao código em qual planilha ele fará referência para o código...em nosso exemplo é teste_numero
CAMPO ... Devemos informar também qual campo na planilha é a referência...que é o campo NUMERO para esse exemplo
FORMULARIO ... Devemos também dizer qual será o Userform usado no código, pois como o código está escrito dentro de um módulo, então o não irá encontrar o formulário sem a sua descrição...
OBJETO ... O objeto o que irá mostrar na tela o numero do registro a ser gravado...
Pronto agora é só abrir o código do formulário no evento initialize e chamar a função criada dentro do módulo 1...
Ao executar o UserForm o resultado deverá ser 1, sendo que ainda não tem nenhuma informação em nosso banco de dados....
Vou inserir números de 1 a 3 na tabela e rodar de novo o formulário...
Bom é isso aí, vai sempre gerando um numero após o ultimo na tabela...
Espero que estejam gostando, e amanha se sobrar tempo irei pegar a partir desse ponto, dando continuidade nessa mesma pasta de trabalho, então se você quiser pode salvar para usar a mesma, assim o arquivo vai ficando como modelo para eventuais consultas...
O próximo post pretendo mostrar o modelo de código que fiz para cadastro lembrando que é exatamente igual ao código mostrado nos 2 posts que fiz relacionados com o assunto cadastro...
Se não viu ainda tire um tempo e leia, pois é fundamental...
Abraços a todos os leitores, dúvidas deixem comentários ou mandem e-mail para edivan.cabral@yahoo.com.br
VEJAM O LINK DA
PARTE II
At; Edivan Cabral
Eh pa, acho que vi ai por cima excel amador porém útil...
ResponderExcluiroh tu, isto é uma grande experiencia e ajuda. eu te dou 10 vez 2 pontos. abraços.
Miguel
O meu deu erro, da erro em tempo de execução 424. O objeto é obrigatório. Como corrijo isso?
ResponderExcluiro meu deu erro e compilação: o tipo definido pelo usuário não foi definido
ResponderExcluirOpa, Cara me desculpe ois não estou mais postando nada nesse blog, o deixei no ar, apenas para que os leitores possam continuar vendo-o.
ExcluirVisite meu novo blog... programacaopassoapasso.wordpress.com lá estou postando quase todo dia em breve terá muita coisa sobre VBA...
Abraços...