Notifications
Clear all

Contador com código que reinicia todo mês

10 Posts
3 Usuários
0 Reactions
2,375 Visualizações
(@amazonasmc)
Posts: 16
Active Member
Topic starter
 

Preciso de um codigo que funcionaria da seguinte forma

quando iniciasse o mês o codigo iniciaria como "mesano" - cod ex:
082016 - 001
082016 - 002
082016 - 00...........
082016 - 060......

ai quando chegar o outro mes o codigo iniciaria novamente do 1 e nao 082016 - 061 o certo seria ex:
092016 - 001

pensei em uma forma de ele reconhecer que o 092016 nao exista e inicie do zero todo mes

 
Postado : 07/11/2016 9:59 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde amazonasmc

Conforme consta nas regras do fórum, não utilize no título, palavras como "Ajuda", pois atrapalha a ferramenta de pesquisa do fórum.
No título só digite um resumo da dúvida.

Fica mais fácil do pessoal ajudar se você anexar uma planilha de exemplo.

Como você é novato, para facilitar a tua participação no fórum, sugiro tomar conhecimento do conteúdo dos links abaixo:

viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/11/2016 10:18 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Use uma formula via VBA..

Sub teste()
    With Sheets("Plan1")
        .Range("A1:A50").Formula = "=MONTH(TODAY())&""/""&YEAR(TODAY())&"" - ""&TEXT(ROW(),""000"")"
        .Range("A1:A50").Value = .Range("A1:A50").Value
    End With
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/11/2016 12:36 pm
Trindade
(@trindade)
Posts: 278
Reputable Member
 

Boa tarde, amazonasmc.

Não sei como será realizado esse lançamento, mas uma das inúmeras formas de verificar se ocorreu a troca de mês de forma dinâmica seria o proposto abaixo.

Sub Teste()

Dim UltLin As Long

UltLin = Plan1.Cells(Rows.Count, "A").End(xlUp).Row

    If VBA.Left(Plan1.Range("A" & UltLin), 6) <> VBA.Format(VBA.CDate(VBA.Now()), "MMYYYY") Then
    
        Plan1.Range("A" & UltLin + 1) = VBA.Format(VBA.CDate(VBA.Now()), "MMYYYY") & " - 001"
    
    End If

End Sub

Vai buscar o ultimo registro e comparar se corresponde com o mês atual de o mês e ano correponderem não faz nada caso contrario inserir o mês e ano no formato indicado iniciando o contador em 001.

O método proposto pelo alexandrevba foi fixado um range para inserir os códigos nesse intervalo

Tudo vai depender de sua necessidade...

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 07/11/2016 2:46 pm
(@amazonasmc)
Posts: 16
Active Member
Topic starter
 

queria mais ou menos assim
txt_codigo = Format(Now, "yyyymm") & " - " & teste

 
Postado : 07/11/2016 3:10 pm
Trindade
(@trindade)
Posts: 278
Reputable Member
 

queria mais ou menos assim
txt_codigo = Format(Now, "yyyymm") & " - " & teste

Não entendi, poderia explicar e/ou postar um arquivo de exemplo ?

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 07/11/2016 3:26 pm
(@amazonasmc)
Posts: 16
Active Member
Topic starter
 

segue a planilha

ele era pra adicionar "201611 - 004" no entanto ele poe 201611 - 10

e na busca ele nao carrega os outros codigos

 
Postado : 07/11/2016 6:00 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

amazonasmc

Eu postei uns links para você tomar conhecimento, mas pelo jeito você não leu.
A primeira coisa que a pessoa que acessa um fórum deve fazer é ler as regras, onde consta que todos os arquivos anexados, devem ser compactados, independente do tamanho.
Se tivesse seguido o meu conselho e anexado um exemplo, talvez a tua dúvida já teria sido sanada.
Dúvidas de Excel, sem exemplo é perda de tempo.
Acesse os links e tome conhecimento para ter um melhor aproveitamento do fórum e evitar postagens como esta.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/11/2016 6:11 pm
Trindade
(@trindade)
Posts: 278
Reputable Member
 

Boa tarde, amazonasmc.

Troque o código de seu botão NOVO por esse código abaixo, pra ver sé o resultado esperado.

Private Sub btn_novo_Click()

Dim linha As Long
Dim contador As Long
Dim base As String

linha = 2
contador = 0

Do Until Sheets("Dados").Cells(linha, 1) = ""

    If Sheets("Dados").Cells(linha, 2) > contador Then
       
        If VBA.Mid(Sheets("Dados").Cells(linha, 1), 1, 6) = VBA.Format(VBA.Date, "YYYYMM") Then
            contador = contador + 1
        End If
        
        linha = linha + 1
        
    Else
    
    End If

Loop

contador = contador + 1

base = VBA.Format(Now, "yyyymm") & " - " & VBA.Format(contador, "000")


'Range("A1").Select

'While ActiveCell <> ""

'If ActiveCel <> base Then

'txt_codigo.Text = ActiveCell.Offset(0, 0).Value + 1

'Else

'txt_codigo.Text = 1

'End If

'ActiveCell.Offset(1, 0).Activate

'Wend



txt_codigo = base
txt_data = VBA.Date

End Sub

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 08/11/2016 1:05 pm
(@amazonasmc)
Posts: 16
Active Member
Topic starter
 

Deu Certo Obrigado :D :D :D

 
Postado : 08/11/2016 3:44 pm