Καλημέρα!
Συμφωνώ με το Σπύρο.
Στο συγκεκριμένο βρόχο (For i = .... Next) μπορούμε να ορίσουμε τόσο την αρχή όσο και το τέλος του αριθμητή (i).
Για παράδειγμα:
For i = 11 To 100 ....... Next
Ωστόσο, για να αντιγράψουμε σε μια περιοχή κελιών μια τιμή δεν χρειάζεται βρόχος (For...Next, Do....Loop κλπ.)
Αρκεί η γραμμή:
Range("A11:A100").Value = Range("A10").Value
Νίκο, ένας απλός τρόπος για να αποτρέψεις την καταχώρηση σε κελιά, είναι να τα κλειδώσεις και να "ξεκλειδώσεις" τα υπόλοιπα (CTRL+1
** > Προστασία).
** Όχι το πλήκτρο
1 από το αριθμητικό πληκτρολόγιο.
Η μεταβλητή
noROWS υποθέτω ότι δηλώνει την τελευταία μη κενή γραμμή μιας στήλης.
Έστω ότι αυτή η στήλη είναι η
Β.
Σύμφωνα με τα παραπάνω ο κώδικας μπορούσε να διαμορφωθεί έτσι:
Κώδικας:
Sub Test1()
Dim LastRow As Long
LastRow = Range("B" & Rows.Count).End(xlUp).Row
If LastRow > 10 Then
Range("A11:A" & LastRow).Value = Range("A10").Value
End If
End Sub
Αν πάλι πρέπει να ορίσει ο χρήστης την τελευταία μη κενή γραμμή τότε έχουμε:
Κώδικας:
Sub Test2()
Dim LastRow As Long
If TypeOf Selection Is Range Then
LastRow = Selection.Row
If LastRow > 10 Then
Range("A10:A" & LastRow).Value = Range("A10").Value
End If
End If
End Sub
Όσο για τα Select που χρησιμοποιείς σου προτείνω να δοκιμάσεις το αρχείο στον παρακάτω σύνδεσμο:
http://www.ms-office.gr/forum/excel-...html#post12655
Φιλικά
Τάσος