Σε περίπτωση που αναρωτιέστε πώς μπορεί κάποιος να βρει κάθε ένατο στοιχείο σε μια στήλη. Σε αυτό το άρθρο θα μάθουμε πώς να επιστρέφουμε κάθε ένα στοιχείο από μια λίστα. Θα χρησιμοποιήσουμε τον κώδικα VBA για να βρούμε το αποτέλεσμα.
Ερώτηση: Θέλω έναν κώδικα μακροεντολής για να εξαγάγετε κάθε nη τιμή από μια στήλη. Προσπαθώ να τραβήξω τιμές από ένα φύλλο / στήλη σε άλλο φύλλο / στήλη. Προσπάθησα να χρησιμοποιήσω πολλές συναρτήσεις όπως το OFFSET αλλά δεν μπόρεσα να καταλάβω τον τύπο που μπορεί να δώσει το αποτέλεσμα.
Ας πάρουμε ένα παράδειγμα 100 τιμών στη στήλη Α & θέλουμε να μάθουμε κάθε 10ου τιμή στη στήλη Β
Οι τιμές του δείγματος ξεκινούν από το κελί Α1 ίσο με 1 έως το κελί Α100 ίσο με 100. παρακάτω είναι το στιγμιότυπο δεδομένων στη στήλη Α:
Για να έχουμε αποτέλεσμα, πρέπει να ακολουθήσουμε τα παρακάτω βήματα για να ξεκινήσουμε τον επεξεργαστή VB
- Κάντε κλικ στην καρτέλα Προγραμματιστής
- Από την ομάδα κωδικών, επιλέξτε Visual Basic
- Αντιγράψτε τον παρακάτω κώδικα στην τυπική μονάδα
Συνάρτηση INDEXN (InputRange As Range, N As Integer) As Variant 'επιστρέφει κάθε N-th στοιχείο από το InputRange' --- Comment 'επιλέξτε το επιθυμητό εύρος στόχου για τη συνάρτηση και' --- Comment 'εισάγετε ως συνάρτηση πίνακα με Ctrl +Shift+Enter. ' --- Σχόλιο Dim ItemList () As Variant, c As Range, i As Long, iCount As Long i = 0 iCount = 0 ReDim ItemList (1 To InputRange.Cells.Count \ N) Για κάθε c InputRange i = i + 1 Εάν i Mod N = 0 Τότε iCount = iCount + 1 On Error Resume Next ItemList (iCount) = c. Value On Error GoTo 0 End If Next c INDEXN = ItemList If InputRange.Rows.Count> = InputRange.Columns.Count Στη συνέχεια INDEXN = Application.WorksheetFunction.Transpose (INDEXN) End If Erase ItemList End function
- Για να λάβετε κάθε ένατο στοιχείο στο εύρος B1: B10, ο τύπος είναι
- {= INDEXN ($ A $ 1: $ A $ 100, 10)}
Σημείωση: αυτός είναι ένας τύπος πίνακα. Ως εκ τούτου, τα πλήκτρα Ctrl + Shift + Τέλος πρέπει να πατηθούν μαζί
- Για να πάρετε κάθε 7ου τιμή από το εύρος A1: A100; θα αλλάξουμε το τελευταίο όρισμα από 10 σε 7 και ο τύπος θα είναι
- {= INDEXN ($ A $ 1: $ A $ 100, 7)}
Με αυτόν τον τρόπο, μπορούμε να επιστρέψουμε κάθε n-th στοιχείο από ένα φύλλο σε master φύλλο.
- Ο τύπος σε άλλο φύλλο θα περιέχει αναφορά φύλλου
- {= INDEXN (Φύλλο1! $ A $ 1: $ A $ 100, 10)}
Συμπέρασμα: Με τη βοήθεια της παραπάνω συνάρτησης που καθορίζεται από το χρήστη, μπορούμε να έχουμε ευελιξία να ανακαλύπτουμε κάθε ένατο στοιχείο από το ένα φύλλο στο άλλο.
Αν σας άρεσαν τα ιστολόγια μας, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook. Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε, να συμπληρώσουμε ή να καινοτομήσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email