Hola, si eso que mencionas sucece porque tenes las direcciones de las columnas fijas.
Aca va un codigo que te permite, cada vez que abrir el archivo, ver cual es la ultima columna ocupada y escribir a partir de ahi
Espero te sirva
Código:
Private Sub Command1_Click()
Dim txt1, txt2, txt3 As String, txt4 As Integer
Dim openExcel As New Excel.Application
Dim Libro As Excel.Workbook, Hoja As Excel.Worksheet
Dim Aux As Integer
openExcel.Visible = True
Set Libro = openExcel.Workbooks.Open("c:\excel.xls")
Set Hoja = Libro.Worksheets(1)
'Aca guardamos la ultima columna ocupada
Aux = openExcel.Range("a2").CurrentRegion.Columns.Count
Hoja.Name = "Ficha de Postulante"
Hoja.Cells(2, Aux + 1).Value = Text1.Text
Hoja.Cells(2, Aux + 2).Value = Text2.Text
Hoja.Cells(2, Aux + 3).Value = Text3.Text
Hoja.Cells(2, Aux + 4).Value = Text4.Text
'Esto es para que no te de el mensaje que el archivo ya existe
openExcel.DisplayAlerts = False
Libro.Save
'Activamos los alertas nuevamente
openExcel.DisplayAlerts = True
openExcel.Quit
Set Hoja = Nothing
Set Libro = Nothing
Set openExcel = Nothing
End Sub