Pergunte aqui
0

Macro para importar (txt) para planilha ativa

perguntadas 2019-06-06 17:32:48 +0200

imagem do gravatar de Leandro Vieira

updated 2019-06-07 17:10:22 +0200

Olá, pessoal! Alguém conhece uma macro para importar arquivo .txt para planilha ativa? só preciso dos dados do arquivo sem renomear a planilha, pois elas já estão com nome do mês, o mesmo layout e acessadas por botão de macro, não posso utilizar a função de inserir um nova planilha, ficaria inviável ter que copiar botões de macros para cada nova que importar, ainda em construção, segue exemplo:

Os arquivos estão na pasta /home/leandro/Documentos/Back/Leandro/2019/

Havia encontrado algo parecido em VBA, mas não consigo adaptar:

Sub Importartxt()
'endereço no pc onde está o artquivo para importar
Workbooks.OpenText Filename:= _
"C:\Documents and Settings\Administrador\Desktop\importar.txt", Origin:= _
xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:= _
False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
'linha e coluna onde vai copiar
Range("A1:A14").Select
Selection.Copy
'nome da pasta atual onde deseja colocar
Windows("Pasta1").Activate
'célula onde vai começar a colar
Range("A10").Select
ActiveSheet.Paste
Range("A10").Select
'irá fechar o arquivo que abriu para copiar
Windows("importar.txt").Close
End Sub

Fonte:

Obs: Sistema Linux Ubuntu 18.04 lts

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

Já tinha visto as respostas, porém o que preciso é um pouco diferente, editei a pergunta.

imagem do gravatar de Leandro VieiraLeandro Vieira ( 2019-06-07 17:11:38 +0200 )editar

1 Resposta

0

respondidas 2019-06-12 12:08:26 +0200

imagem do gravatar de Marcelo Caldas

updated 2019-06-12 12:09:56 +0200

Eu tenho essa aqui:

   Sub ReadTXT
         Dim sFileName, Number As String
         i2 = 2
    Sheets("Origem").Select
    Caminho = Range("B" & 13)
    oDoc = ThisComponent
    oPlan = oDoc.Sheets.getByName("CONJ1")
    sFileName = Range("B" & 13)
    Range("A" & i2).Select 
    Sheets("CONJ1").Select
    Number = Freefile
    Open sFileName For Input As Number
    While Not EOF(Number)
    Line Input #Number, sLine
       If sLine <>"" Then
          oPlan = oDoc.Sheets.getByName("CONJ1")
          oCelula = oPlan.getCellRangeByName("Z" & i2)
          oCelula.FormulaLocal = sLine
          i2=i2+1
       End If
    Wend
    Range("Z1") = i2-1
 End Sub

Não sou especialista, mas essa macro usa partes de codigo VBA e partes em Basic. Recentemente estou convertendo tudo pra Basic. Mas ainda não cheguei nessa.

SFileName tem que estar como formato URL.

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2019-06-06 17:32:48 +0200

Lidas: 50 vezes

Última atualização: Jun 12