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 original- Private 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 original- Private 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