Hola:
En mi ejemplo obviamente no sabia las lineas que querias guardar. En tu caso, lo que no tiene sentido es utilizar el List intermedio, puedes hacerlo directamente
Código vb:
Ver originalPrivate Sub Command1_Click()
Dim s As String, a() As String, i As Integer
Open App.Path & "\fichero1.txt" For Input As #1
s = Input(LOF(1), #1)
Close #1
a = Split(s, vbNewLine)
Open App.Path & "\fichero2.txt" For Output As #1
Print #1, a(1)
Print #1, a(2)
Print #1, a(4)
Print #1, a(5)
Print #1, a(6)
Print #1, a(7)
Print #1, a(14)
Close #1
End Sub
En mi ejemplo habrias tenido que poner un contador para saber que numero de linea estabas leyendo y caso de querer guardarla hacerlo.
Por ejemplo asi:
Código vb:
Ver originalPrivate Sub Command1_Click()
Dim Registro As String, Linea As Integer
Open App.Path & "\Fichero1.txt" For Input As #1 'Abrir para lectura
Open App.Path & "\Fichero2.txt" For Output As #2 'Abrir para escritura
While Not EOF(1) 'Bucle hasta llegar a fin de fichero 1
Line Input #1, Registro 'Leer Registro de fichero 1
Linea = Linea + 1
Select Case Linea
Case = 1, 2, 4, 5, 6, 7, 14
Print #2, Registro 'Grabar Registro en fichero 2
End Select
Wend
Close #1, #2 'Cerrar ficheros
End Sub
Es sólo una de tantas posibilidades.
Saludos