Excel Macro - Δυναμική επιλογή στήλης

  • Θέμα
  • Λύση
  • Σημείωση

Θέμα

Αρχίζω να μαθαίνω μακροεντολές του Excel. Έχω δουλέψει σε ένα φύλλο όπου πρέπει να επιλέξω μια στήλη δυναμικά, με βάση μόνο το όνομα της κεφαλίδας της στήλης. ΑΣΕ με να εξηγήσω.

Ας υποθέσουμε ότι υπάρχει ένα φύλλο Excel το οποίο περιέχει τις ακόλουθες στήλες (από A1 έως D1):

 RecNo Cust_ID Cust_Name Όνομα_χρήστη 

Κάτω από αυτά, υπάρχουν δεδομένα πελατών που είναι παρόντα. Τώρα, θέλω να εξάγουμε μόνο το Cust_ID (από τη στήλη B) και το Cust_Name (από τη στήλη C) για όλες τις εγγραφές.

Ωστόσο, το πρόβλημα είναι ότι δεν είναι απαραίτητο το Cust_ID να είναι πάντοτε στη στήλη Β. Παρόλο που η επικεφαλίδα θα είναι πάντοτε Cust_ID, η θέση του θα μπορούσε να αλλάξει στη στήλη C σε κάποιο άλλο φύλλο που έχει παραχθεί και το Cust_Name θα μπορούσε αντίθετα να υπήρχε στο Η στήλη Β (οι δύο στήλες που πρέπει να εξαχθούν έχουν αντικατασταθεί).

Χρησιμοποιώντας τη λειτουργία αντιστοίχισης, μπορώ να προσδιορίσω τη θέση της στήλης, αλλά μετά από αυτό δεν μπορώ να επιλέξω αυτή τη στήλη.

Η λειτουργία που έχω χρησιμοποιήσει για τον προσδιορισμό του αριθμού στήλης δίνεται παρακάτω:

 Εργαλείο εργασίαςFunction.Match ("Cust_ID", εύρος ("A1: D1"), 0) 

Λύση

Απλά χρησιμοποιήστε τα εξής:

 'Προσδιορισμός φάσματος φύλλου δεδομένων. Dim longLastRow As Long DimLastCol As Long DimDarDataSelect As Variant 'Η επιλογή των σειρών και των στηλών κυμαίνεται δυναμικά. ΕπιλογήLngLastRowNum = ActiveCell.Row Selection.End (xlToRight) .Επιλέξτε lngLastCol = ActiveCell.Column 'Όνομα του φύλλου εργασίας "MonthlyReceivedClaims_Data" ξεκινήστε στη Σειρά 1 Στήλη 1' και τέλος στο ": R" & lngLastRowNum & "C" & lngLastCol varDataSelect = "MonthlyReceivedClaims_Data! R1C1: R" & lngLastRowNum & "C" & lngLastCol ActiveWorkbook.PivotCaches.Add (SourceType: = xlDatabase, SourceData: = _ varDataSelect) .CreatePivotTable _ TableDestination: = "Συγκεντρωτικός πίνακας1", DefaultVersion: = _xlPivotTableVersion10 ActiveSheet.PivotTableWizard ΠίνακαςΟρισμός: = ActiveSheet.Cells (3, 1) 

Επίσης, βοηθά στη χρήση της λειτουργίας μακροεντολής εγγραφής κάτω από τα εργαλεία.

'Κάντε κλικ στην εγγραφή. Κάντε την αναφορά ή τον άξονα όπως θέλετε.

Στη συνέχεια, κάντε κλικ στο σταμάτημα της εγγραφής και επεξεργαστείτε τον κωδικό, όπως απαιτείται

Σημείωση

Χάρη στην AM για αυτή την άκρη στο φόρουμ.

Προηγούμενο Άρθρο Επόμενο Άρθρο

Οι Καλύτερες Συμβουλές