Apesar do tempo, segue solução simples, atenção: a guia que deseja gerar o TXT precisa estar com o nome Extract, se entende o mínimo de VBA altere o nome código abaixo para o nome de sua guia, não me perguntem como funciona o código pois não sei, estou estudado ainda, peguei a solução de outro site em Inglês e adaptei para o que preciso, depois reduzi e fiz esta resumida abaixo que deve resolver para maioria das pessoas...
Códig VBA com a solução:
Sub Exportar_TXT()
Application.ScreenUpdating = False
'Seleciona a guia Extract do Excel depois a célula A1
Sheets("Extract").Select
Range("A1").Select
'Iniciar exportação txt via Print com texto exato mostrado em tela sem erro das aspas
Dim Path As String
Dim FileNumber As Integer
Dim LR As Integer
Dim LC As Integer
Dim k As Integer
Dim i As Integer
LR = Worksheets("Extract").Cells(Rows.Count, 1).End(xlUp).Row
LC = Worksheets("Extract").Cells(1, Columns.Count).End(xlToLeft).Column
Path = ThisWorkbook.Path & "\Extract " & Format(Now(), "ddmmyyyy-hhmmss") & ".txt"
FileNumber = FreeFile
Open Path For Output As FileNumber
For k = 1 To LR
For i = 1 To LC
If i <> LC Then
Print #FileNumber, Cells(k, i),
Else
Print #FileNumber, Cells(k, i)
End If
Next i
Next k
Close FileNumber
' Caso deseja abrir o notepad imediatamente para conferir o txt gerado só retirar a linha comentada abaixo:
'Shell "notepad.exe " & Path, vbNormalFocus
Application.ScreenUpdating = True
MsgBox "Extract*.txt salvo na pasta onde abriu este Excel!"
End Sub
********************************************
Algumas pessoas sugerem a solução abaixo onde se coloca o xlTextPrinter, porém aqui para mim não resolveu nada, o melhor usado neste exemplo foi o xlTextWindows porém em algumas planilhas ele continuava trazendo aspas em algumas linhas, quando eu terminar meus estudos provavelmente vou entender por que disso......
Código VBA ruim mas que funcionou em 90% dos meus casos:
Sub Exportar_TXT()
Application.ScreenUpdating = False
'Seleciona a guia Extract do Excel depois a célula A1
Sheets("Extract").Select
Range("A1").Select
'Iniciar exportação txt via comando "salvar como"
Dim lWorkBook As Workbook
Dim lPlan As Worksheet
Set lWorkBook = Workbooks.Add
Extract.Copy Before:=lWorkBook.Sheets(1)
lWorkBook.SaveAs FileName:= _
ThisWorkbook.Path & "\Extract " & Format(Now(), "ddmmyyyy-hhmmss") & ".txt", _
FileFormat:=xlTextPrinter, CreateBackup:=False
lWorkBook.Close SaveChanges:=False
MsgBox "Extract*.txt salvo na pasta onde abriu este Excel!"
Sair:
Set lWorkBook = Nothing
End Sub
Fonte do meu código VBA:
https://www.wallstreetmojo.com/vba-write-text-file/