Quero exportar valores de um txt aberto na aba1, para outra planilha criada na aba2
aqui o código está assim
Option Explicit
'Option Private Module
Sub Principal()
Dim PlanilhaAtual As Worksheet
Dim PlanilhaNova As Worksheet
Dim VENDAS As Worksheet
Set PlanilhaAtual = Worksheets(1)
GerarPlanilha ("Nova")
Set PlanilhaNova = Worksheets("Nova")
Set VENDAS = Worksheets("vendas")
Dim UltimaLinha As Long
UltimaLinha = PlanilhaAtual.Cells.Find("*", LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlNext).Row
' Copiando os valores para a planilha nova
Dim Linha As Long
For Linha = 2 To UltimaLinha
PlanilhaNova.Cells(Linha, 1).Value = "=Mid(VENDAS!RC[0], 16, 18)"
PlanilhaNova.Cells(Linha, 2).Value = "=Mid(VENDAS!RC[-1], 34, 8)"
PlanilhaNova.Cells(Linha, 3).Value = "=Mid(VENDAS!RC[-2], 42, 20)"
PlanilhaNova.Cells(Linha, 4).Value = "=Mid(VENDAS!RC[-3], 62, 14)"
PlanilhaNova.Cells(Linha, 5).Value = "=Mid(VENDAS!RC[-4], 76, 8)"
PlanilhaNova.Cells(Linha, 6).Value = "=Mid(VENDAS!RC[-5], 84, 8)"
PlanilhaNova.Cells(Linha, 7).Value = "=Mid(VENDAS!RC[-6], 92, 20)"
PlanilhaNova.Cells(Linha, 8).Value = "=Mid(VENDAS!RC[-7], 122, 1)"
Next
End Sub
Sub GerarPlanilha(Nome As String)
Dim Planilha As Worksheet
' Excluindo planilha existente se houver
For Each Planilha In Worksheets
If Planilha.Name = Nome Then
Application.DisplayAlerts = False
Planilha.Delete
Application.DisplayAlerts = True
End If
Next
' Criando a planilha nova
Set Planilha = Worksheets.Add(After:=Sheets(Sheets.Count))
Planilha.Name = Nome
' Gerando cabeçalho na planilha nova
Range("A1").Value = "CNPJ"
Range("B1").Value = "DATA"
Range("C1").Value = "NOTA"
Range("D1").Value = "EAN"
Range("E1").Value = "QTD"
Range("F1").Value = "PREÇO"
Range("G1").Value = "VEND"
Range("G1").Value = "TIPO"
End Sub
porém não sai nada da primeira linha, como eu pulo pra próxima linha do arquivo txt?
poderiam me ajudar?
na planilha de texto não é delimitada, eu abro ela com CTRL +SHIFT + ENTER ai fica 1 linha só por registro, ai eu tento usar o ext.texto via vba, pra eu extrair uma determinada posição de cada linha.
Pergunta
Igor.sena
Boa tarde pessoal
Quero exportar valores de um txt aberto na aba1, para outra planilha criada na aba2
aqui o código está assim
Option Explicit 'Option Private Module Sub Principal() Dim PlanilhaAtual As Worksheet Dim PlanilhaNova As Worksheet Dim VENDAS As Worksheet Set PlanilhaAtual = Worksheets(1) GerarPlanilha ("Nova") Set PlanilhaNova = Worksheets("Nova") Set VENDAS = Worksheets("vendas") Dim UltimaLinha As Long UltimaLinha = PlanilhaAtual.Cells.Find("*", LookIn:=xlFormulas, _ SearchOrder:=xlByRows, SearchDirection:=xlNext).Row ' Copiando os valores para a planilha nova Dim Linha As Long For Linha = 2 To UltimaLinha PlanilhaNova.Cells(Linha, 1).Value = "=Mid(VENDAS!RC[0], 16, 18)" PlanilhaNova.Cells(Linha, 2).Value = "=Mid(VENDAS!RC[-1], 34, 8)" PlanilhaNova.Cells(Linha, 3).Value = "=Mid(VENDAS!RC[-2], 42, 20)" PlanilhaNova.Cells(Linha, 4).Value = "=Mid(VENDAS!RC[-3], 62, 14)" PlanilhaNova.Cells(Linha, 5).Value = "=Mid(VENDAS!RC[-4], 76, 8)" PlanilhaNova.Cells(Linha, 6).Value = "=Mid(VENDAS!RC[-5], 84, 8)" PlanilhaNova.Cells(Linha, 7).Value = "=Mid(VENDAS!RC[-6], 92, 20)" PlanilhaNova.Cells(Linha, 8).Value = "=Mid(VENDAS!RC[-7], 122, 1)" Next End Sub Sub GerarPlanilha(Nome As String) Dim Planilha As Worksheet ' Excluindo planilha existente se houver For Each Planilha In Worksheets If Planilha.Name = Nome Then Application.DisplayAlerts = False Planilha.Delete Application.DisplayAlerts = True End If Next ' Criando a planilha nova Set Planilha = Worksheets.Add(After:=Sheets(Sheets.Count)) Planilha.Name = Nome ' Gerando cabeçalho na planilha nova Range("A1").Value = "CNPJ" Range("B1").Value = "DATA" Range("C1").Value = "NOTA" Range("D1").Value = "EAN" Range("E1").Value = "QTD" Range("F1").Value = "PREÇO" Range("G1").Value = "VEND" Range("G1").Value = "TIPO" End Sub
porém não sai nada da primeira linha, como eu pulo pra próxima linha do arquivo txt?
poderiam me ajudar?
na planilha de texto não é delimitada, eu abro ela com CTRL +SHIFT + ENTER ai fica 1 linha só por registro, ai eu tento usar o ext.texto via vba, pra eu extrair uma determinada posição de cada linha.
e são varias linhas
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.