Καλησπέρα σας,
όπως το κατάλαβα εγώ το προβλήμα θεώρησα ότι το ζητούμενο είναι να γράψουμε στο πρώτο κενό κελί της στήλης Α του Φύλλο2 γι'αυτό και χρησιμοποίησα xldown και όχι xlup
(Με το xlup αν το κελί Α10 είναι κενό, τότε δεν θα συμπληρωθεί ποτέ αν το Α11 δεν είναι κενό)
Το λάθος μου είναι ότι θεώρησα πως τα Α1 και Α2 ΔΕΝ είναι κενά.

Αν λοιπόν έχω καταλάβει σωστά το ζητούμενο, θα πρέπει να προστεθεί ένας έλεγχος για τα Α1 και Α2 και να χρησιμοποιηθεί xlup
Δηλαδή μέσα στην With θα έχω:
Κώδικας:
...
If IsEmpty(.Range("A1")) Then
.Range("A1").Value = Target.Value
ElseIf IsEmpty(.Range("A2")) Then
.Range("A2").Value = Target.Value
Else
.Cells(.Range("A1").End(xlDown).Row + 1, 1) = Target.Value
End If
...
Από την άλλη θα ήθελα να πω ότι εγκρίνω και επαυξάνω την πρόταση χρήσης ονόματος MyCell που πρότεινε ο Τάσος. Κάνει τον κώδικα περισσότερο ανεξάρτητο, αν και υπάρχει υπάρχει εξάρτηση από το φύλλο.
Θα συμφωνήσω επίσης για το κωδικό όνομα των φύλλων σε ελληνικά, με τα οποία η
VBA όχι μόνο δεν συνεργάζεται πλήρως, αλλά δημιουργεί και προβλήματα
(ένα xls φτιαγμένο σε ελληνικό Excel αν περιέχει κώδικα
VBA και κατόπιν το επεξεργαστούμε με Αγγλικό Excel δεν μπορούμε να το ξαναχρησιμοποιήσουμε σε περιβάλλον με ελληνικό Excel τουλάχιστον μέχρι την έκδοση 2003)
Αυτά τα λίγα
Θανάσης.