Βρείτε τη δεύτερη υψηλότερη τιμή στο Excel VBA - Εύκολες μακροεντολές Excel

Πίνακας περιεχομένων

Παρακάτω θα δούμε ένα πρόγραμμα στο Excel VBA ότι βρίσκει τη δεύτερη υψηλότερη τιμή.

Κατάσταση:

1. Αρχικά, δηλώνουμε δύο αντικείμενα εύρους και δύο μεταβλητές τύπου Double. Τα αντικείμενα Range τα λέμε rng και cell. Μια διπλή μεταβλητή ονομάζουμε υψηλότερη τιμή και μία διπλή μεταβλητή ονομάζουμε secondHighestValue.

Dim rng Ως εύρος, κελί ως εύρος
Χαμηλότερη υψηλότερη τιμή ως διπλή, δεύτερη υψηλότερη τιμή διπλή

2. Αρχικοποιούμε το αντικείμενο εύρους rng με το επιλεγμένο εύρος και τις δύο διπλές μεταβλητές με τιμή 0.

Ρύθμιση rng = Επιλογή
υψηλότερη τιμή = 0
secondHighestValue = 0

3. Αρχικά, θέλουμε να βρούμε την υψηλότερη τιμή. Θέλουμε να ελέγξουμε κάθε κελί σε μια τυχαία επιλεγμένη περιοχή (αυτό το εύρος μπορεί να είναι οποιουδήποτε μεγέθους). Στο Excel VBA, μπορείτε να χρησιμοποιήσετε τον βρόχο Για κάθε επόμενο για αυτό. Προσθέστε τις ακόλουθες γραμμές κώδικα:

«Βρείτε την υψηλότερη αξία
Για κάθε κελί σε rng
Επόμενο κελί

Σημείωση: Το rng και το κελί επιλέγονται τυχαία εδώ, μπορείτε να χρησιμοποιήσετε οποιαδήποτε ονόματα. Θυμηθείτε να ανατρέξετε σε αυτά τα ονόματα στον υπόλοιπο κώδικα. Η πράσινη γραμμή είναι ένα σχόλιο και προστίθεται εδώ μόνο για να παρέχει πληροφορίες σχετικά με αυτό το κομμάτι κώδικα.

4. Ελέγχουμε κάθε κελί σε αυτό το εύρος. Εάν είναι υψηλότερη από την υψηλότερη τιμή, γράφουμε την τιμή στη μεταβλητή υψηλότερη τιμή. Προσθέστε την ακόλουθη γραμμή κώδικα στον βρόχο.

Αν cell.Value> υψηλότερηValue Στη συνέχεια υψηλότερηValue = cell.Value

Σημείωση: η πρώτη τιμή είναι πάντα υψηλότερη από την υψηλότερη τιμή, επειδή η αρχική τιμή της υψηλότερης τιμής είναι 0.

5. Δεύτερον, θέλουμε να βρούμε τη δεύτερη υψηλότερη Αξία. Προσθέτουμε έναν άλλο βρόχο Για κάθε επόμενο.

«Βρείτε τη δεύτερη υψηλότερη τιμή
Για κάθε κελί σε rng
Επόμενο κελί

6. Ελέγχουμε ξανά κάθε κελί στην επιλεγμένη περιοχή. Εάν είναι υψηλότερη από secondHighestValue και χαμηλότερη από υψηλότερηValue, γράφουμε την τιμή στη μεταβλητή secondHighestValue. Προσθέστε την ακόλουθη γραμμή κώδικα στον βρόχο.

If cell.Value> secondHighestValue And cell.Value <υψηλότερηValue Στη συνέχεια secondHighestValue = cell.Value

7. Τέλος, εμφανίζουμε τη δεύτερη υψηλότερη τιμή χρησιμοποιώντας ένα MsgBox.

MsgBox "Δεύτερη υψηλότερη αξία είναι" & secondHighestValue

8. Τοποθετήστε τη μακροεντολή σας σε ένα κουμπί εντολών, επιλέξτε τους αριθμούς και κάντε κλικ στο κουμπί εντολών.

Αποτέλεσμα:

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave