Προσθέστε μόνο διακριτές θετικές τιμές με VBA

Anonim

Σε περίπτωση που αναρωτιέστε πώς μπορείτε να προσθέσετε μόνο θετικές & μοναδικές τιμές τότε αυτό το άρθρο είναι για εσάς.

Σε αυτό το άρθρο, θα μάθετε πώς να προσθέτετε μόνο ξεχωριστές θετικές τιμές στο excel χρησιμοποιώντας τον κώδικα VBA.

Ερώτηση): Θέλω μια μακροεντολή να αθροίζει όλους τους διακριτούς θετικούς αριθμούς σε ένα καθορισμένο εύρος που περιλαμβάνει αρνητικούς και θετικούς αριθμούς.

Ακολουθεί το στιγμιότυπο των δεδομένων που έχουμε:

Πρέπει να ακολουθήσουμε τα παρακάτω βήματα:

  • Κάντε κλικ στην καρτέλα Προγραμματιστής
  • Από την ομάδα κώδικα επιλέξτε Visual Basic

Εισαγάγετε τον ακόλουθο κώδικα στην τυπική μονάδα:-

Συνάρτηση AddUnique (ByRef inputrange As Range, _

Προαιρετικό IgnoreText As Boolean = True, _

Προαιρετικό IgnoreError As Boolean = True, _

Προαιρετικά Αγνοήστε Αρνητικούς αριθμούς ως Boolean = True)

Χαμηλοί διακριτικοί αριθμοί ως διπλοί

Dim cell As Range

Dim dict ως αντικείμενο

Ορισμός dict = CreateObject ("Scripting.dictionary")

διακριτοί αριθμοί = 0

Για κάθε κελί In inputrange.Resize (inputrange.Rows.Count, 1)

cval = κελί. Αξία

Εάν IgnoreText Τότε

Εάν όχι (VBA.IsNumeric (cval)) Τότε cval = 0

Αλλού

AddUnique = CVErr (0)

Λειτουργία εξόδου

Τέλος εαν

Εάν IgnoreError Τότε

Αν IsError (cval) Τότε cval = 0

Αλλού

AddUnique = CVErr (1)

Λειτουργία εξόδου

Τέλος εαν

Εάν αγνοήσετε αρνητικούς αριθμούς τότε

Αν cval <0 Τότε cval = 0

Αλλού

AddUnique = CVErr (2)

Λειτουργία εξόδου

Τέλος εαν

Εάν δεν είναι dict.Exists (cval) Τότε

dict. Προσθήκη cval, cval

διακριτικοί αριθμοί = διακριτοί αριθμοί + κλ

Τέλος εαν

Επόμενο

AddUnique = διακριτοί αριθμοί

Λειτουργία Τέλους

  • Στο κελί C2 ο τύπος θα είναι
  • = AddUnique (A2: A6)

  • Για να ελέγξετε εάν ο κώδικας αγνοεί την επαναλαμβανόμενη τιμή ή όχι. ας αλλάξουμε την τιμή στο κελί A1 σε 50 και βλέπουμε το αποτέλεσμα.

Με αυτόν τον τρόπο μπορούμε να προσθέσουμε ξεχωριστές θετικές τιμές μέσω κώδικα μακροεντολών.

Λήψη-Δείγμα αρχείου-xlsm