Aquí el código:
Sub concatenar()
Application.ScreenUpdating = False
hoja = ActiveSheet.Name
Sheets.Add
ActiveSheet.Name = "recopilación"
Sheets(hoja).Select
While ActiveCell.Value <> ""
val1 = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
val2 = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
val3 = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
val4 = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
val5 = ActiveCell.Value
ActiveCell.Offset(0, -4).Select
Sheets("recopilación").Select
Range("A1").Select
While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Wend
fila1 = Row
ActiveCell.Value = val1 & "|" & val2 & "|" & val3 & "|" & val4 & "|" & val5
Sheets(hoja).Select
ActiveCell.Offset(1, 0).Select
Wend
Sheets("recopilación").Select
ActiveSheet.Move
Range("A1").Select
nbre = InputBox("Nombre del archivo")
ruta = "C:\Pruebas" 'AQUÍ DEBES DEFINIR LA RUTA DONDE GUARDARAS TU ARCHIVO
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ruta & "\" & nbre & ".txt", _
FileFormat:=xlText, CreateBackup:=False
ActiveWorkbook.Close
Application.ScreenUpdating = True
MsgBox ("Archivo generado exitosamente")
End Sub
Por favor no olvides calificar y cerrar la pregunta