Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Formula para criar colunas em arquivo TXT - Numeração sequêncial

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
marciorc



Mensagens : 2
Data de inscrição : 08/07/2015

MensagemAssunto: Formula para criar colunas em arquivo TXT - Numeração sequêncial   Qua Jul 08, 2015 4:47 am

Boa noite,

Tenho um programa em excel, que ao colocar um número inicial e final, ele me cria um arquivo TXT com uma numeração dividido em 4 colunas. Preciso de uma formula que ele crie uma outra numeração para Caixa, junto dessas 4 colunas.

Preciso que ele comece pelo número 1, mas repetido 4x, depois muda para o número 2, repete 4x, e assim em diante. Ex:

Caixa1 Caixa2 Caixa3 Caixa4

1 3 5 7

1 3 5 7

1 3 5 7

1 3 5 7

2 4 6 8

2 4 6 8

2 4 6 8

2 4 6 8

Como essa numeração de inicio e fim que digito é aleatório, pode acontecer dessa sequência da caixa se quebrar numa coluna e continuar na outra.

Tentei usar uma formula simples, mas não está dando certo, ao gerar ele está repetindo nas 4 colunas a mesma sequencia, começando pelo 1, e não quero isso, quero que continue a sequencia nas 4 colunas conforme o exemplo acima. A formula que tentei usar é essa abaixo, mas não deu certo. PS: Não sou programador!

If MudaCaixa = 4 Then
MudaCaixa = 0
Caixa = Caixa + 1
End If

Obrigado a todos. Espero que alguém possa me ajudar.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
marciorc



Mensagens : 2
Data de inscrição : 08/07/2015

MensagemAssunto: Re: Formula para criar colunas em arquivo TXT - Numeração sequêncial   Qua Jul 08, 2015 8:50 pm

Segue a função que estou utilizando:

Function Gera_Pacote()

Dim NumLinhas, Contagem As Integer
Dim ArquivoTxt, Pallet, Caixa, MudaCaixa, MudaPallet As Integer
Dim CaixaInicio, CaixaFim, PacoteInicio, PacoteFim, Modelo, Pacote As String
Dim NumIni, NumFim As String


Pacote = 1
PacoteInicio = Range("B3").Value
NumIni = Range("B3").Value
NumFim = Range("D3").Value
Contagem = 0



If Plan1.OptComum.Value = True Then
   Modelo = "Comum"
   ElseIf Plan1.OptEspecial.Value = True Then
   Modelo = "Especial"
End If
   
ArquivoTxt = FreeFile

Open "C:\Pacote\" & Range("F3").Value & "_Pacote_" & Modelo & ".txt" For Output As #ArquivoTxt
' Print #ArquivoTxt, "Pallet"; vbTab; "CX_NUM"; vbTab; "CX_NUM_INICIO"; vbTab; "CX_NUM_FIM"; vbTab; "PC_NUM"; vbTab; "PC_NUM_FIM"; vbTab; "PC_NUM_INICIO"

NumLinhas = (NumFim - NumIni + 1) / 2000 / 4
NumLinhas = Int(NumLinhas + 0.99)
Caixa = Caixa + 1


Print #ArquivoTxt, "pacote1" & vbTab & "ate1" & vbTab & "de1" & vbTab & "caixa1" & vbTab & "pacote2" & vbTab & "ate2" & vbTab & "de2" & vbTab & "caixa2" & vbTab & "pacote3" & vbTab & "ate3" & vbTab & "de3" & vbTab & "caixa3" & vbTab & "pacote4" & vbTab & "ate4" & vbTab & "de4" & vbTab & "caixa4"


While Contagem < NumLinhas
           If PacoteInicio + (NumLinhas * 8000) + 1999 > NumFim + Caixa Then
           Print #ArquivoTxt, Pacote + vbTab & Format(PacoteInicio + 1999, "000000000") & vbTab & Format(PacoteInicio, "000000000") & vbTab & Caixa & _
                       vbTab & Pacote + NumLinhas & vbTab & Format(PacoteInicio + (NumLinhas * 2000) + 1999, "000000000") & vbTab & Format(PacoteInicio + (NumLinhas * 2000), "000000000") & vbTab & Caixa & _
                       vbTab & Pacote + (NumLinhas * 2) & vbTab & Format(PacoteInicio + (NumLinhas * 4000) + 1999, "000000000") & vbTab & Format(PacoteInicio + (NumLinhas * 4000), "000000000") & vbTab & Caixa & _
                       vbTab & Pacote + (NumLinhas * 3) & vbTab & Format(PacoteInicio + (NumLinhas * 6000) + 1999, "000000000") & vbTab & Format(PacoteInicio + (NumLinhas * 6000), "000000000") & vbTab & Caixa

                       
           Else
           Print #ArquivoTxt, Pacote + vbTab & Format(PacoteInicio + 1999, "000000000") & vbTab & Format(PacoteInicio, "000000000") & vbTab & Caixa & _
                       vbTab & Pacote + NumLinhas & vbTab & Format(PacoteInicio + (NumLinhas * 2000) + 1999, "000000000") & vbTab & Format(PacoteInicio + (NumLinhas * 2000), "000000000") & vbTab & Caixa & _
                       vbTab & Pacote + (NumLinhas * 2) & vbTab & Format(PacoteInicio + (NumLinhas * 4000) + 1999, "000000000") & vbTab & Format(PacoteInicio + (NumLinhas * 4000), "000000000") & vbTab & Caixa & _
                       vbTab & Pacote + (NumLinhas * 3) & vbTab & Format(PacoteInicio + (NumLinhas * 6000) + 1999, "000000000") & vbTab & Format(PacoteInicio + (NumLinhas * 6000), "000000000") & vbTab & Caixa

                       
           End If
   
       PacoteInicio = PacoteInicio + 2000
       Pacote = Pacote + 1
       MudaCaixa = MudaCaixa + 1
       Contagem = Contagem + 1
       

   
   If MudaCaixa = 4 Then
      MudaCaixa = 0
      Caixa = Caixa + 1
   End If
   
 
Wend
   
Close #ArquivoTxt

End Function


-----------------------------------------
Imagem do que está acontecendo:
w w w .sendspace.com/file/ujit5m    *Favor tirar os espaços para baixar a imagem
Voltar ao Topo Ir em baixo
Ver perfil do usuário
 
Formula para criar colunas em arquivo TXT - Numeração sequêncial
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» programa para criar arquivos de som mid
» TUTORIAL para criar widgets
» [Dúvida] BBCodes para criar efeito Hover em mensagens
» [Resolvido] Código para criar tópicos com cachê igual ao da Seção Gráfica
» [Idéia]Para criar um Software ajudante

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: