Amigo, dependeria de mais algumas informações, por exemplo se a aba já tem alguns cadastros, ou se irá começar do Zero.
Supondo que irá começar do "Zero" e a Numeração está na Coluna "A" da aba "Cadastro" onde em "A1" é o cabeçaho e a numeração Iniciará em "A2", utilize a rotina abaixo :
Private Sub CommandButton1_Click()
Dim lastRow As Long
Dim wsCadastro As Worksheet
'Aba Cadastro
Set wsCadastro = Worksheets("Cadastro")
'Verifica qual a ultima Linha preenchida na coluna A
'Descontando a primeira linha de cabeçalho
lastRow = wsCadastro.Cells(Rows.Count, 1).End(xlUp).Row - 1
'Coloca no TextBox1 o Numero formatado junto com o Ano Atual
TextBox1.Value = Format(lastRow + 1, "000") & "/" & Format(Now, "yyyy")
End Sub
Quanto a questão na troca de ano, eu acho que o ideal seria ter os anos em alguma parte da planilha, e ir fazendo a verificação, usando a condição IF : por exemplo :
Sub Anos()
Dim sAno As String
Dim wsContatos As Worksheet
Set wsContatos = Sheets("Cadastro")
sAno = Format(Now, "yyyy")
If sAno > 2011 Then
MsgBox Format(Now, "yyyy")
End If
End Sub
Veja que na rotina acima é verificado se o ano atual é maior que o especificado na Rotina (2011), então quando passarmos para 2012 a formatação será 2012, mas será necessário alterar 2011 para 2012 na rotina para quando chegar a 2013.
Quanto a Numeração reiniciar, na primeira rotina são contados os cadastros na coluna A e somado + 1 para o próximo numero, e como não sabemos qual será o numero do último cadastro não tem como defini-lo na rotina, o ideal seria que quando mudasse o ano, ou limpar os cadastros anteriores ou inciar uma nova Aba com o ano atual começando a numeração novamente.
Analise, e qualquer duvida retorne.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 26/10/2011 6:06 pm