VBA Cell Value - Λήψη, ρύθμιση ή αλλαγή

Αυτό το σεμινάριο θα σας διδάξει πώς να αλληλεπιδράτε με τις τιμές κυψέλης χρησιμοποιώντας το VBA.

Ορισμός τιμής κυψέλης

Για να ορίσετε μια τιμή κελιού, χρησιμοποιήστε την ιδιότητα Τιμή του αντικειμένου Εύρος ή Κελιά.

Range.Value & Cells.Value

Υπάρχουν δύο τρόποι αναφοράς κυττάρων (ων) στο VBA:

  • Εύρος αντικειμένου - Εύρος ("A2"). Τιμή
  • Αντικείμενο κελιών - Κελιά (2,1). Αξία

Το αντικείμενο εύρους σάς επιτρέπει να αναφέρετε ένα κελί χρησιμοποιώντας την τυπική σημειογραφία "A1".

Αυτό θα ορίσει την τιμή του εύρους A2 = 1:

1 Εύρος ("A2"). Τιμή = 1

Το αντικείμενο Cells σάς επιτρέπει να αναφέρετε ένα κελί με τον αριθμό γραμμής και τον αριθμό στήλης.

Αυτό θα ορίσει την τιμή του εύρους Α2 = 1:

1 Κελιά (2,1). Αξία = 1

Παρατηρήστε ότι εισάγετε πρώτα τον αριθμό σειράς:

1 Κελιά (Row_num, Col_num)

Ορίστε τιμές πολλαπλών κελιών ταυτόχρονα

Αντί να αναφέρετε ένα μεμονωμένο κελί, μπορείτε να αναφέρετε μια περιοχή κελιών και να αλλάξετε όλες τις τιμές κελιού ταυτόχρονα:

1 Εύρος ("A2: A5"). Τιμή = 1

Ορισμός τιμής κελιού - Κείμενο

Στα παραπάνω παραδείγματα, ορίζουμε την τιμή κελιού ίση με έναν αριθμό (1). Αντ 'αυτού, μπορείτε να ορίσετε την τιμή κελιού ίση με μια συμβολοσειρά κειμένου. Στο VBA, όλο το κείμενο πρέπει να περιβάλλεται από εισαγωγικά:

1 Εύρος ("A2"). Τιμή = "Κείμενο"

Εάν δεν περιβάλλετε το κείμενο με εισαγωγικά, η VBA θα νομίζει ότι αναφέρετε μια μεταβλητή…

Ορισμός τιμής κελιού - μεταβλητή

Μπορείτε επίσης να ορίσετε μια τιμή κελιού ίση με μια μεταβλητή

1234 Dim strText ως συμβολοσειράstrText = "Συμβολοσειρά κειμένου"Εύρος ("A2"). Τιμή = strText

Λάβετε αξία κυψέλης

Μπορείτε να λάβετε τιμές κελιού χρησιμοποιώντας την ίδια ιδιότητα Τιμή που χρησιμοποιήσαμε παραπάνω.

Λάβετε τιμή ActiveCell

Για να λάβετε την τιμή ActiveCell και να την εμφανίσετε σε ένα πλαίσιο μηνυμάτων:

1 MsgBox ActiveCell.Value

Εκχώρηση τιμής κελιού σε μεταβλητή

Για να λάβετε μια τιμή κελιού και να την εκχωρήσετε σε μια μεταβλητή:

123 Dim var ως Variantvar = Range ("A1"). Τιμή

Εδώ χρησιμοποιήσαμε μια μεταβλητή τύπου Παραλλαγή. Οι μεταβλητές μεταβλητών μπορούν να δεχτούν κάθε είδους τιμές. Αντ 'αυτού, μπορείτε να χρησιμοποιήσετε έναν τύπο μεταβλητής συμβολοσειράς:

123 Dim var ως Stringvar = Range ("A1"). Τιμή

Ένας τύπος μεταβλητής συμβολοσειράς θα δέχεται αριθμητικές τιμές, αλλά θα αποθηκεύει τους αριθμούς ως κείμενο.

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

123 Dim var ως Doublevar = Range ("A1"). Τιμή

Ωστόσο, εάν επιχειρήσετε να αποθηκεύσετε μια τιμή κελιού που περιέχει κείμενο σε μια διπλή μεταβλητή, θα λάβετε ένα σφάλμα αναντιστοιχίας τύπου:

Άλλα παραδείγματα τιμής κυψέλης

Αντιγραφή τιμής κελιού

Είναι εύκολο να ορίσετε μια τιμή κελιού ίση με μια άλλη τιμή κελιού (ή "Αντιγραφή" μιας τιμής κελιού):

1 Εύρος ("A1"). Τιμή = Εύρος ("B1"). Τιμή

Μπορείτε ακόμη να το κάνετε αυτό με εύρη κελιών (τα εύρη πρέπει να έχουν το ίδιο μέγεθος):

1 Εύρος ("A1: A5"). Τιμή = Εύρος ("B1: B5"). Τιμή

Συγκρίνετε τιμές κυψέλης

Μπορείτε να συγκρίνετε τιμές κελιών χρησιμοποιώντας τους τυπικούς τελεστές σύγκρισης.

Ελέγξτε εάν οι τιμές των κελιών είναι ίσες:

1 MsgBox Range ("A1"). Value = Range ("B1"). Value

Θα επιστρέψει TRUE εάν οι τιμές των κελιών είναι ίσες. Κατά τα άλλα ΛΑΘΟΣ.

Μπορείτε επίσης να δημιουργήσετε μια δήλωση If για να συγκρίνετε τιμές κελιών:

12345678910111213 If Range ("A1"). Value> Range ("B1"). Value Στη συνέχειαΕύρος ("C1"). Τιμή = "Μεγαλύτερη από"Εύρος Elseif ("A1"). Τιμή = Εύρος ("B1"). Τιμή Στη συνέχειαΕύρος ("C1"). Τιμή = "alση"ΑλλούΕύρος ("C1"). Τιμή = "Λιγότερο από"Τέλος εαν

Μπορείτε να συγκρίνετε κείμενο με τον ίδιο τρόπο (Θυμηθείτε ότι το VBA είναι Case Sensitive)

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

wave wave wave wave wave