Когда вы запускаете макрос, поместите этот код, прежде чем делать что-либо:
Dim i As Integer
Range("a1").Select
Range(Selection, Selection.End(xlDown)).Select
i = Selection.Rows.Count
Предполагается, что у вас всегда есть какое-то значение в 'A1' и что нет пустых строк, пока вы не достигнете конца действительных строк введенных данных.
На данный момент у вас есть значение 'i', равное количеству строк, уже содержащих данные.
Тогда вы можете использовать приведенный выше код Кристиана Пейна, но изменить
Range("A2").Select
до
Cells(i + 1, 1).Select
Это позволит вашему макросу поместить данные в следующую пустую строку под уже существующими данными.