quinta-feira, 21 de março de 2013

Códigos VBA modelo... Para gerar Numero crescentes automaticamente....

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...

Abrir o Excel e salvar como "Pasta de trabalho Habilitada para Macros"



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


Alterar o nome da planilha... 
Para esse exemplo vou colocar teste_numero... 




Colocar o titulo do nosso campo na planilha...

que nesse exemplo será NUMERO






Finalizamos a parte da planilha agora vamos para o Editor VBA...


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


4 comentários:

  1. Eh pa, acho que vi ai por cima excel amador porém útil...
    oh tu, isto é uma grande experiencia e ajuda. eu te dou 10 vez 2 pontos. abraços.

    Miguel

    ResponderExcluir
  2. O meu deu erro, da erro em tempo de execução 424. O objeto é obrigatório. Como corrijo isso?

    ResponderExcluir
  3. o meu deu erro e compilação: o tipo definido pelo usuário não foi definido

    ResponderExcluir
    Respostas
    1. Opa, 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.

      Visite meu novo blog... programacaopassoapasso.wordpress.com lá estou postando quase todo dia em breve terá muita coisa sobre VBA...

      Abraços...

      Excluir