Ir para conteúdo
Fórum Script Brasil
  • 0

copiar arquivos do .txt e copiar ultima linha e colar na proxima linha


enemy100

Pergunta

estou um baita problemão.

já procurei aqui no forum e não encontrei, ai estou postando essa duvida

programação não é minha praia, eu sou de Redes, mas vamos a duvida:

eu tenho esse exemplo dentro de um .txt, são variosss, peguei um pra mostrar:

PROFILE NAME: OINOCC

COMMAND CLASS AUTHORITIES:

A=151 B=150 C=150 D=150 E=150 F=150 G=150 H=150 I=150 J=150

K=150 L=150 M=150 N=151 O=150 P=150 Q=150 R=150 S=150 T=150

U=151 V=150 W=150 X=150 Y=151

PARALLEL PASSWORD EXISTENCE: NO

PASSWORD VALIDITY TIME: PASSWORD NEVER EXPIRES

MML COMMAND LOG ACCESSIBILITY: LIMITED

UNIQUE PROFILE: NO

MML SESSION IDLE TIME LIMIT: 15 MIN(S)

FTP ACCESSIBILITY: WRITE

PROFILE IS USED BY: OINOCC

PROFILE..............................outrossss e mais outros.....

TEM COMO IMPORTAR PARA O EXCEL DINAMICAMENTE EM CELULAS UMA ABAIXO DA OUTRA?

TIPO ASSIM:

(A1) NOME (B1) Profiles (C1) Usuários (D1)Tempo de senha (E1)Senha paralela existente (F1)Tempo de sessão ociosa (G1)Classes de Permissões (H1)Acesso FTP e TFTP (I1)Perfil Único (J1) MML COMMAND LOG ACCESSIBILITY

ai em baixo de cada coluna iria colocando os perfis assim por diante...

porque to fazendo isso na mão..copiando e colando e ta complicado..

a outra duvida é que criei um codigo pra copiar e coloar, ficou assim:

Sub Macro1()

Dim linha As Long

On Error Resume Next ‘ignorar entrada errada

linha = InputBox(”Digite o número da linha a copiar.”, “Entre com um número”)

linha2 = InputBox(”Digite a linha a colar.”, “Entre com um numero”)

‘copiar os campos de b a j e colar na linha vazia abaixo

ActiveSheet.Cells(linha, 2).Copy ActiveSheet.Cells(linha2, 2)

ActiveSheet.Cells(linha, 3).Copy ActiveSheet.Cells(linha2, 3)

ActiveSheet.Cells(linha, 4).Copy ActiveSheet.Cells(linha2, 4)

ActiveSheet.Cells(linha, 5).Copy ActiveSheet.Cells(linha2, 5)

ActiveSheet.Cells(linha, 6).Copy ActiveSheet.Cells(linha2, 6)

ActiveSheet.Cells(linha, 7).Copy ActiveSheet.Cells(linha2, 7)

ActiveSheet.Cells(linha, 8).Copy ActiveSheet.Cells(linha2, 8)

ActiveSheet.Cells(linha, 9).Copy ActiveSheet.Cells(linha2, 9)

ActiveSheet.Cells(linha, 10).Copy ActiveSheet.Cells(linha2, 10)

End Sub

tem como tipo, ao rodar a macro ela sozinha pegar a ultima linha e colar na proxima linha vazia dos campos b a j?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Olá,

O recurso "Texto para Colunas" do Excel não resolve?

Ele quebra os dados em colunas utilizando largura fixa ou delimitador (ponto-e-vírgula, dois pontos e etc...).

Mas se você precisar de código mesmo, segue uma rotina que lê linha a linha o arquivo de texto e joga as informações uma em baixo da outra (como não temos um exemplo do arquivo .txt disponível, fica mais difícil ajudá-lo):

Sub éNois()

Dim fso As FileSystemObject

Dim text As TextStream

Dim aux As String

Set fso = New FileSystemObject

Set text = fso.OpenTextFile("C:\meuarquivo.txt", ForReading, False)

While Not text.AtEndOfStream

aux = text.ReadLine

ThisWorkbook.Worksheets(1).Range("a65536").End(xlUp).Offset(1, 0) = aux 'aqui _

estou jogando as informações do arquivo de texto uma em baixo da outra

Wend

text.Close

Set text = Nothing

Set fso = Nothing

End Sub

Adicionar Referência à Biblioteca "Microsoft Scripting Runtime" (vá em Ferramentas -> Referências -> marque a opção "Microsoft Scripting Runtime" -> clique em OK).

Link para o comentário
Compartilhar em outros sites

  • 0

a rotina funcionou mas como você disse ficou tudo um em baixo do outro, ainda não deu pra otimizar, continua na mesma, vou explicar porque. Tem alguma forma aqui no forum de colocar o arquivo ou tem q colocar por link externo mesmo?

de qualquer forma, o arquivo tem uma extrutura mais ou menos assim, so q 20x maior:

PROFILE NAME: PROFILE

COMMAND CLASS AUTHORITIES:

A=250 B=250 C=250 D=250 E=250 F=250 G=250 H=250 I=250 J=250

K=250 L=250 M=250 N=250 O=250 P=250 Q=250 R=250 S=250 T=250

U=250 V=250 W=250 X=250 Y=250

PARALLEL PASSWORD EXISTENCE: YES

PASSWORD VALIDITY TIME: PASSWORD NEVER EXPIRES

MML COMMAND LOG ACCESSIBILITY: COMPLETE

UNIQUE PROFILE: NO

MML SESSION IDLE TIME LIMIT: 15 MIN(S)

FTP AND SFTP ACCESSIBILITY: WRITE

PROFILE IS USED BY: VDU0 , VDU1 , VDU2 , VDU3 , VDU4 , VDU5 ,

VDU6 , VDU7 , VDU8 , VDU9 , VDU10, VDU11,

VDU12, VDU13, VDU14, VDU15, CAL0 , VTP

PROFILE NAME: NOKIAPLAN

COMMAND CLASS AUTHORITIES:

A=100 B=100 C=100 D=100 E=100 F=100 G=100 H=100 I=100 J=100

K=100 L=100 M=100 N=100 O=100 P=100 Q=100 R=100 S=100 T=100

U=100 V=100 W=100 X=100 Y=100

PARALLEL PASSWORD EXISTENCE: NO

PASSWORD VALIDITY TIME: PASSWORD NEVER EXPIRES

MML COMMAND LOG ACCESSIBILITY: LIMITED

UNIQUE PROFILE: NO

MML SESSION IDLE TIME LIMIT: 15 MIN(S)

FTP AND SFTP ACCESSIBILITY: NO

PROFILE IS USED BY:

PROFILE NAME: OMD

COMMAND CLASS AUTHORITIES:

A= 1 B= 1 C= 1 D= 1 E= 1 F= 1 G= 1 H= 1 I=150 J= 1

K= 1 L= 1 M= 1 N= 1 O= 1 P= 1 Q= 1 R= 1 S= 1 T= 1

U= 1 V= 1 W= 1 X= 1 Y= 1

PARALLEL PASSWORD EXISTENCE: YES

PASSWORD VALIDITY TIME: PASSWORD NEVER EXPIRES

MML COMMAND LOG ACCESSIBILITY: COMPLETE

UNIQUE PROFILE: YES

MML SESSION IDLE TIME LIMIT: 15 MIN(S)

FTP AND SFTP ACCESSIBILITY: WRITE

PROFILE IS USED BY: CHARGI

PROFILE NAME: DESEMP

COMMAND CLASS AUTHORITIES:

A=100 B=100 C=100 D=250 E=100 F=100 G=100 H=100 I=248 J=100

K=100 L=100 M=150 N=100 O=100 P=100 Q=100 R=100 S=100 T=150

U=100 V=100 W=100 X=100 Y=100

PARALLEL PASSWORD EXISTENCE: NO

PASSWORD VALIDITY TIME: PASSWORD NEVER EXPIRES

MML COMMAND LOG ACCESSIBILITY: LIMITED

UNIQUE PROFILE: NO

MML SESSION IDLE TIME LIMIT: 15 MIN(S)

FTP AND SFTP ACCESSIBILITY: WRITE

PROFILE IS USED BY: DESEMP

Ou seja, sempre se repete essa estrutura, tem mais uns 3000 desses para importar pro excel, to usando uma macro que criei da copiar e colar linhas dentro do proprio excel mesmo, e depois fica mais ou menos assim o exemplo acima:

excellb.jpg

só q eu não consigo imaginar uma forma de organizar assim.. :huh: :(

obs: O recurso ''Texto para colunas'' não resolve..

Editado por enemy100
Link para o comentário
Compartilhar em outros sites

  • 0

Só por curiosidade...

O arquivo txt original apresenta essas linhas em branco separando os dados?

Eu detectei 9 campos de dados no arquivo txt. Entretanto, a planilha exibida apresenta 10 colunas.

E parece que a sequencia das colunas também não "bate" com a sequencia dos campos no arquivo txt.

É isso que acontece mesmo?

Outra... você perde muito tempo convertendo esses dados do arquivo txt para o formato na planilha Excel?

Link para o comentário
Compartilhar em outros sites

  • 0
Só por curiosidade...

O arquivo txt original apresenta essas linhas em branco separando os dados?

Eu detectei 9 campos de dados no arquivo txt. Entretanto, a planilha exibida apresenta 10 colunas.

E parece que a sequencia das colunas também não "bate" com a sequencia dos campos no arquivo txt.

É isso que acontece mesmo?

Outra... você perde muito tempo convertendo esses dados do arquivo txt para o formato na planilha Excel?

peco sim, perco horassss

sim, são 9 campos de dados no arquivo.txt, a da coluna A é um nome que se coloca..

uma coisa que descobri aqui e ve se da pra ajudar:

no arquivo .txt os dados sempre seguem essa sequencia, ou seja, o espaçamento são os mesmos, eu to tentando tipo criar alguma regra do tipo no exemplo abaixo:

arquivo .txt com conteudo:

PROFILE NAME: PROFILE

COMMAND CLASS AUTHORITIES:

A=250 B=250 C=250 D=250 E=250 F=250 G=250 H=250 I=250 J=250

K=250 L=250 M=250 N=250 O=250 P=250 Q=250 R=250 S=250 T=250

U=250 V=250 W=250 X=250 Y=250

PARALLEL PASSWORD EXISTENCE: YES

PASSWORD VALIDITY TIME: PASSWORD NEVER EXPIRES

MML COMMAND LOG ACCESSIBILITY: COMPLETE

UNIQUE PROFILE: NO

MML SESSION IDLE TIME LIMIT: 15 MIN(S)

FTP AND SFTP ACCESSIBILITY: WRITE

PROFILE IS USED BY: VDU0 , VDU1 , VDU2 , VDU3 , VDU4 , VDU5 ,

VDU6 , VDU7 , VDU8 , VDU9 , VDU10, VDU11,

VDU12, VDU13, VDU14, VDU15, CAL0 , VTP

beleza, to tentando separar ele assim:

1 - onde tem ''dois pontos'' separa para outra coluna, ai fica mais ou menos assim:

Coluna A Coluna B

PROFILE NAME PROFILE

COMMAND CLASS AUTHORITIES

A=250 B=250 C=250 D=250 E=250 F=250 G=250 H=250 I=250 J=250

K=250 L=250 M=250 N=250 O=250 P=250 Q=250 R=250 S=250 T=250

U=250 V=250 W=250 X=250 Y=250

PARALLEL PASSWORD EXISTENCE YES

PASSWORD VALIDITY TIME PASSWORD NEVER EXPIRES

MML COMMAND LOG ACCESSIBILITY COMPLETE

UNIQUE PROFILE NO

MML SESSION IDLE TIME LIMIT 15 MIN(S)

FTP AND SFTP ACCESSIBILITY WRITE

PROFILE IS USED BY VDU0 , VDU1 , VDU2 , VDU3 , VDU4 , VDU5 ,

VDU6 , VDU7 , VDU8 , VDU9 , VDU10, VDU11,

VDU12, VDU13, VDU14, VDU15, CAL0 , VTP

beleza, agora eu criei uma formula assim: =se(A1="PROFILE NAME";B1;" "), assim eu consigo jogar numa coluna só todos os profiles um em baixo do outro.

tiro os espaços em branco entre as linhas das coluna e copio isso lá pra coluna ''Profiles'' do .xls q to me matando. só q isso tudo fiz só para uma coluna, mais 7 consigo copiar esse modo maluco, mas ai na coluna ''A'' desse arquivo aqui logo abaixo da linha ''COMMAND CLASS AUTHORITIES" as 3 linhas não vieram para a coluna ''B'', ai complicou.

tem como criar uma macro disso tudo?

Que use o texto para colunas delimitando o '' dois pontos '';

use a formula que citei acima jogando numa nova coluna vazia;

tirar os espaços em branco que fica entre as linhas;

copiar essas colunas e colar lá nas colunas do outro .xls que ta sendo copiado tudo;

até agora só consegui criar a seguinte macro na raça:

Sub espacobranco()

'

' espacobranco Macro

'

'

ActiveCell.Columns("A:A").EntireColumn.Select

ActiveWindow.SmallScroll Down:=-24

Columns("G:G").Select

ActiveSheet.Range("$G$1:$G$906").RemoveDuplicates Columns:=1, Header:=xlNo

ActiveWindow.SmallScroll Down:=-15

Columns("G:G").Select

End Sub

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...