Notifications
Clear all

Campo de Código(ID) Automático

6 Posts
1 Usuários
0 Reactions
2,618 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia Excelceiros! :D

Amigos, estou cadastrando o Código do meu formulário (Registro) manualmente, quando eu cadastro um novo Orçamento é salvo na segunda linha com mesmo código, está duplicando as informações. (Veja o meu código de SALVAR abaixo).

Private Sub btnInserir_Click()
    
  Dim rLast As Long
  
  With Sheets("bdDados")
    
    'Obtém a última linha da Planilha:
    rLast = .Cells(.Rows.Count, "C").End(xlUp).Row + 1
    
    .Cells(rLast, "C") = txtProjecao
    .Cells(rLast, "D") = txtDataProjecao
    .Cells(rLast, "E") = txtMesInicio
    .Cells(rLast, "F") = txtDataAno
    .Cells(rLast, "BS") = lblMediaOrcado
    .Cells(rLast, "BT") = lblMediaRealizado
    
  End With
  
  MsgBox "Cadastro Realizado com Sucesso!"
  
End Sub

Estou pensando em uma condição que apague o código anterior, mais está dificil.

Dim Codigo

Codigo = txtCodigo.Text

IF (Codigo = Range(B2))
msgBox "Arquivo já cadastrado!"
ELSE
Cadastrar

Ou deletando o código anterior depois da modificação.
Como faço amigos, para colocar o meu campo Código do cadastro no formulário automático, e formata-lo da maneira personalizada.

Exemplo:

Cod: Orcamento-1-2012
Nome: Dep. Tecnologia
-------------------------------------------------------------------------
Cod: Orcamento-1-2012
Nome: Dep. Públicidade

Muito obrigado pela atenção.
Abraços!!!

 
Postado : 18/01/2012 7:04 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

gleidson, não sei se entendi corretamente, mas troque a rotina do form "UserForm_Initialize" pela a abaixo :

    Private Sub UserForm_Initialize()
        Dim Codigo
        Dim rLast As Long
    
        txtCod.Enabled = False
    
        With Sheets("Registros")
           
            'Obtém a última linha da Planilha:
            rLast = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
        
            txtCod.Text = "VS-" & rLast & "-2012"
    
        End With
    
        Codigo = txtCod
    
    End Sub

[]s

 
Postado : 18/01/2012 8:24 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Isso mesmo! Mais quero que gere automático, assim que eu pedir um novo cadastro.
Pq quando estou cadastrando, vai gerando um novo registro duplicado na planilha...

Gerar o CODIGO automático, e não deixar gravar o mesmo CODIGO.

Tem como da um help amigo?

 
Postado : 18/01/2012 8:33 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Veja se é isto :

No final da rotina associada ao Botão SALVAR (btnSalvar_Click), adicione as linhas :

Unload Me
frmCadastrar.Show

Assim o formulário será recarregado com o novo código.

[]s

 
Postado : 18/01/2012 8:51 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Como faço para verificar se uma coluna e célula do Excel está preenchida?

Sub Private VerificarCelular()

Dim verificar
if Cell (A1) = String

Sub End

 
Postado : 18/01/2012 10:09 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Use :

    If Range("A1") = "" Then
        MsgBox "Vazia"
    End If
    
    'Cells(1,1) - Linha 1, Coluna (1)A = A1
    If Cells(1, 1) = "" Then
        MsgBox "Vazia"
    End If

[]s

 
Postado : 18/01/2012 10:42 am