Ir ao conteúdo

Colocar sequencias no excel


pauiris

Posts recomendados

Postado

AMIGOS

TENHO UMA PLANILHA NO EXCEL CHAMADA PROTOCOLO DE ENTREGA 0028/2003 UTILIZO-A MUITO  NO MEU DIA-A-DIA E

SEMPRE ESTOU DIGITANDO  O NUMERO FINAL EX: 0028/2003

ALGUÉM  SABE COMO COLOCAR ESSAS SEQUENCIAS PARA SEREM AUTOMATICAS SEM PRECISAR  FICAR DIGITANDO TODAS AS VEZES QUE  PRECISO UTILIZAR-LÁ

DESDE  JÁ AGRADEÇO

?.?.?

  • Membro VIP
Postado

Bom, até que tem jeito mas eu precisava saber de duas coisas:

1) Se você tem um modelo (extensão XLT) dessa planilha.

2) Se você quer que mude a numeração toda vez que abrir a planilha, ou somente quando criar uma planilha nova.

Para qualquer situação, a solução é a mesma: seria necessário gravar o último número utilizado em algum lugar, para depois recuperar esse número e incrementar a sequência. Para isso, só escrevendo uma macro-função em VBA e colocando num módulo, para usar nas células.

Eu escrevi essa função no Excel97, que você pode experimentar (deve servir em outras versões também):

Public Function NovoNum(Optional Incremento As Long = 1, Optional Formato As String = "0000") As String
   
   'Variáveis
   Dim ArquivoUltimaNumeracao As String, Memoria As Integer
   Dim NumeracaoAtual As String, Numero As String, Posicao As Integer
   
   '--------------------------------------------------
   
   'Definir caminho para o arquivo onde será guardado o último número usado
   ArquivoUltimaNumeracao = Environ$("WINDIR") & "\ultnum.txt"
   
   If Not Dir$(ArquivoUltimaNumeracao) = "" Then
   
       'Abrir o arquivo e ler qual foi a última numeração
       Memoria = FreeFile
       Open ArquivoUltimaNumeracao For Input Access Read As Memoria
       NumeracaoAtual = Input(LOF(Memoria), #Memoria)
       Close Memoria
               
       'Verificar se o que foi encontrado no arquivo serve como número válido
       If Not TriMicrosoft(NumeracaoAtual) = "" Then
           Posicao = InStr(1, NumeracaoAtual, "/", vbTextCompare)
           If Not Posicao = 0 Then
               Numero = Mid$(NumeracaoAtual, 1, (Posicao - 1))
               If IsNumeric(Numero) Then Numero = (CLng(Numero) + Incremento)
           Else
               Numero = "1"
           End If
       Else
           Numero = "1"
       End If
   
   Else
   
       Numero = "1"
   
   End If
   
   'Retornar resultado da função
   NumeracaoAtual = Format$(Numero, Formato) & "/" & Year(Date)
   NovoNum = NumeracaoAtual

   'Gravar numeração atual em arquivo, para consultar da próxima vez
   Memoria = FreeFile
   Open ArquivoUltimaNumeracao For Output Access Write As Memoria
   Print #Memoria, NumeracaoAtual
   Close Memoria

End Function

Para testar, abra o editor do Visual Basic (geralmente teclando ALT + F11 no Excel), insira um novo módulo no VBAProject que tiver o nome da sua planilha, daí copie e cole a função acima.

Clique em qualquer célula da planilha e digite assim: =novonum(). Pode fazer em várias células para ver como o número aumenta. O ano só muda conforme o relógio do Windows.

Agora para chamar essa função automaticamente é fácil, geralmente se faz no evento de abertura da pasta de trabalho (Workbook_Open) apontando para uma célula qualquer para mostrar o resultado. Só que você precisa esclarecer se você quer que mude a numeração toda vez que abrir a planilha, ou somente quando criar uma planilha nova.

De qualquer forma, a função acima já facilita bastante...

qualquer. coisa poste aí de novo...

:**

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!