Σε αυτό το άρθρο, θα δημιουργήσουμε μια μακροεντολή για τη μορφοποίηση των δεδομένων δεδομένων στην επιθυμητή προσαρμοσμένη μορφή αριθμού χρησιμοποιώντας VBA.
Τα ακατέργαστα δεδομένα για αυτό το παράδειγμα αποτελούνται από δεδομένα ομάδας πωλήσεων. Τα ακατέργαστα δεδομένα περιέχουν όνομα, αναγνωριστικό προϊόντος, τιμή προϊόντος, ποσότητα που πωλήθηκε και συνολικές πωλήσεις.
Πριν από την εκτέλεση της μακροεντολής, πρέπει να καθορίσετε τη μορφή προσαρμοσμένου αριθμού στη στήλη P και τον αριθμό στήλης στην οποία θέλετε να εφαρμόσετε τη μορφή προσαρμοσμένου αριθμού στη στήλη Q.
Κάντε κλικ στο κουμπί "Μορφοποίηση" για να εκτελέσετε τη μακροεντολή "Μορφοποίηση".
Η μακροεντολή θα αλλάξει τη μορφοποίηση των δεδομένων δεδομένων σύμφωνα με την καθορισμένη μορφή προσαρμοσμένου αριθμού.
Λογική εξήγηση
Αυτή η μακροεντολή επιλέγει τη μορφοποίηση αριθμών από τη στήλη P και εκχωρεί τη μορφοποίηση αριθμών σε στήλες που καθορίζονται από τους αριθμούς στηλών στη στήλη Q.
Σε αυτήν τη μακροεντολή, έχουμε χρησιμοποιήσει δύο βρόχους DO UNTIL για βρόχους. Το First DO UNTIL Loop χρησιμοποιείται για βρόχο μέχρι να εφαρμοστούν όλες οι μορφές αριθμών σε στήλες. Το δεύτερο DO UNTIL Loop χρησιμοποιείται για να βρείτε όλους τους διαφορετικούς αριθμούς στηλών που καθορίζονται και διαχωρίζονται με κόμματα (,).
Επεξήγηση κώδικα
strCol = Αριστερά (txt, InStr (txt, ",") - 1)
Ο παραπάνω κώδικας χρησιμοποιείται για τον διαχωρισμό του αριθμού στήλης από τη συμβολοσειρά που περιέχει όλους τους αριθμούς στηλών που χωρίζονται με κόμματα (,).
Στήλες (CInt (strCol)). NumberFormat = wks. Cells (intRow, 16). Value
Ο παραπάνω κώδικας χρησιμοποιείται για την εφαρμογή της προσαρμοσμένης μορφής αριθμού στην καθορισμένη στήλη.
txt = Δεξιά (txt, Len (txt) - InStr (txt, ","))
Ο παραπάνω κώδικας χρησιμοποιείται για τον διαχωρισμό της αριστερής συμβολοσειράς μετά την αφαίρεση του αριθμού στήλης από την καθορισμένη συμβολοσειρά.
Ακολουθήστε παρακάτω για τον κωδικό
Επιλογή ρητή υποδιαμόρφωση () 'Δήλωση μεταβλητών Dim wks As Worksheet Dim intRow As Long Dim strCol As String Dim txt As String' Initializing the variables Set wks = Worksheets ("Format") intRow = 4 'Looping στη 16η στήλη έως ότου η κενή τιμή είναι βρέθηκε Do Until IsEmpty (wks.Cells (intRow, 16)) 'Εκχώρηση της τιμής της προσαρμοσμένης μορφής αριθμού txt = wks.Cells (intRow, 17)' Looping και εύρεση όλων των αριθμών της στήλης διαχωρισμένων με κόμμα (,) Do Until InStr ( txt " , 16). Αξία 'Περικοπή της συμβολοσειράς για εύρεση του επόμενου αριθμού στήλης μετά το κόμμα (,) txt = Δεξιά (txt, Len (txt) - InStr (txt, ",")) Loop' Εκχώρηση της μορφής αριθμών Στήλες (CInt (txt)). NumberFormat = wks.Cells (intRow, 16). Value intRow = intRow + 1 Loop End Sub
Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.
Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email