Ο Richard γράφει:
Αν μπορεί να είμαι τόσο τολμηρός να ρωτήσω, θα πρέπει να είμαι ευγνώμων αν θα μπορούσατε να με διαφωτίσετε ως προς την απάντηση σε αυτό το περίπλοκο αίνιγμα σχετικά με τη συντακτική ακεραιότητα videlict:
Όταν αναφέρετε ένα κελί για εξωτερική χρήση στο VisualBasic για παράδειγμα μέσω του "Range (" F3 "). Επιλέξτε" ας υποθέσουμε ότι θέλω αντί της στήλης 1 να αντικαταστήσει μια μεταβλητή από έναν βρόχο στο ακόλουθο τέλος:
For Scarab=3 To 15 Range("FScarab").Select ActiveCell.Value = Scarab * Scarab - 3 Next Scarab
για παράδειγμα.
Είναι σαφές ότι δεν μπορεί κανείς να χρησιμοποιήσει μόνο το FScarab όπου πριν είχε κάποιο F3, αλλά ίσως υπάρχει μια μέθοδος μέσω της οποίας μπορεί να επιτευχθεί το επιθυμητό αποτέλεσμα. Δηλαδή, υπάρχει τρόπος να αναφερθείτε στο κελί στη στήλη F και στη γραμμή Scarab για τη μεταβλητή Scarab και εάν ναι, θα μπορούσατε να κοινοποιήσετε αυτές τις πληροφορίες.
Υπάρχουν διάφοροι τρόποι για να το κάνετε αυτό. Πιθανώς η πιο διαισθητική είναι αυτή η μέθοδος που περιλαμβάνει τη συνένωση του γράμματος στήλης "F" με τον αριθμητικό αριθμό γραμμής στο εσωτερικό της αναφοράς Range ()
For Scarab=3 To 15 Range("F" & Scarab).Select ActiveCell.Value = Scarab * Scarab - 3 Next Scarab
Η επόμενη μέθοδος χρησιμοποιεί τη συνάρτηση CELLS (σειρά, στήλη) αντί της αναφοράς Range. Σε αυτήν την περίπτωση, η σειρά και η στήλη πρέπει να είναι αριθμητικά. Η μεταβλητή του αριθμού σειράς είναι ήδη αριθμητική, οπότε απλά πρέπει να μετατρέψετε το "F" σε 6 στο κεφάλι σας. Θα σημειώσετε επίσης ότι δεν είναι απαραίτητο να επιλέξετε το κελί, μπορείτε απλώς να αντιστοιχίσετε μια τιμή σε αυτό.
For Scarab=3 To 15 Cells(Scarab, 6).Value = Scarab * Scarab - 3 Next Scarab
Τέλος, είναι δυνατόν να περάσετε απλώς σε κάθε κελί της περιοχής:
For Each cell in Range("F3:F15") Cell.Value = Cell.Row * Cell.Row - 3 Next Cell