Dim σημαίνει. Τι είναι το dim και γιατί το χρειάζεται μια γυναίκα;

Εδώ και αρκετό καιρό, ανάμεσα στις έννοιες της οικιακής ηλεκτρικής μηχανικής, η λέξη dimmer ακούγεται όλο και περισσότερο. Τι είδους συσκευή είναι αυτή; Για ποιους σκοπούς προορίζεται; Θα μπορούσε να είναι μια άλλη ιδιοτροπία; Ή ένα πραγματικά απαραίτητο πράγμα στην καθημερινή ζωή; Υπάρχουν πολλές ερωτήσεις, θα προσπαθήσουμε να δώσουμε λεπτομερείς απαντήσεις σε όλα.

Σκοπός

Η λέξη "dimmer" προέρχεται από το αγγλικό "dim", που κυριολεκτικά σημαίνει "σκοτεινιάζει" στα ρωσικά. Αλλά οι ίδιοι οι Ρώσοι αποκαλούν συχνά ένα ροοστάτη ροοστάτη, επειδή είναι μια ηλεκτρονική συσκευή με την οποία μπορείτε να αλλάξετε την ηλεκτρική ισχύ (δηλαδή, να το ρυθμίσετε προς τα πάνω ή προς τα κάτω).

Τις περισσότερες φορές, μια τέτοια συσκευή χρησιμοποιείται για τον έλεγχο του φορτίου φωτισμού. Το dimmer έχει σχεδιαστεί για να αλλάζει τη φωτεινότητα του φωτός που εκπέμπεται από λαμπτήρες LED, καθώς και από λαμπτήρες πυρακτώσεως και αλογόνου.

Το απλούστερο παράδειγμα ροοστάτη είναι μια μεταβλητή αντίσταση (ή ρεοστάτης). Τον 19ο αιώνα, ο Γερμανός φυσικός Johann Poggendorff εφηύρε αυτή τη συσκευή ώστε να μπορεί να χρησιμοποιηθεί για τη ρύθμιση της τάσης και του ρεύματος σε ένα ηλεκτρικό κύκλωμα αυξάνοντας ή μειώνοντας την αντίσταση. Ο ρεοστάτης είναι μια συσκευή με ρυθμιζόμενη αντίσταση και ένα αγώγιμο στοιχείο. Η αντίσταση μπορεί να αλλάξει σταδιακά και ομαλά. Για να αποκτήσετε χαμηλή φωτεινότητα φωτός, είναι απαραίτητο να μειώσετε την τάση. Αλλά η αντίσταση και το ρεύμα θα είναι υψηλά, γεγονός που θα οδηγήσει σε ισχυρή θέρμανση της συσκευής. Έτσι, ένας τέτοιος ρυθμιστής είναι εντελώς ασύμφορος, θα λειτουργεί με χαμηλή απόδοση.

Οι αυτομετασχηματιστές μπορούν επίσης να χρησιμοποιηθούν ως dimmer. Η χρήση τους οφείλεται στην υψηλή απόδοσή τους σε όλο το ρυθμιζόμενο εύρος, θα παράγεται σχεδόν μη παραμορφωμένη τάση με την απαιτούμενη συχνότητα 50 Hz. Αλλά οι αυτομετασχηματιστές είναι αρκετά μεγάλοι, ζυγίζουν πολύ και απαιτούν σημαντική μηχανική προσπάθεια για τον έλεγχό τους. Επιπλέον, μια τέτοια συσκευή θα είναι ακριβή.

Ηλεκτρονικός ροοστάτης - αυτή η επιλογή είναι η πιο κερδοφόρα από οικονομική άποψη. Είναι συμπαγές και έχει ελαφρώς διαφορετική αρχή λειτουργίας. Ας μιλήσουμε για αυτό με περισσότερες λεπτομέρειες.

Εφαρμογή

Το τι είναι το dimmer είναι λίγο πολύ ξεκάθαρο. Παρέχεται τάση στη λάμπα, αλλάζουμε το επίπεδο της και έτσι προσαρμόζουμε τη φωτεινότητα της λάμπας. Τώρα λίγα λόγια για το πότε και πού χρησιμοποιείται αυτή η συσκευή.

Συμφωνώ, αρκετά συχνά προκύπτουν καταστάσεις όταν είναι απαραίτητο να μειωθεί η φωτεινότητα του φωτός:

  • συχνά η ροή του φωτισμού πρέπει να μειωθεί στην κρεβατοκάμαρα πριν πάτε για ύπνο.
  • Ορισμένα ντιζάιν δωμάτια απαιτούν αλλαγές στο μοτίβο φωτός.
  • Μερικές φορές ο εσωτερικός φωτισμός αλλάζει στη λεγόμενη λειτουργία αναμονής προκειμένου να μειωθεί η κατανάλωση ενέργειας.

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

Όσον αφορά τις ιδέες σχεδιασμού, έχει γίνει πλέον της μόδας σε μεγάλα σαλόνια ή αίθουσες να χρησιμοποιείται δευτερεύων φωτισμός μεμονωμένων χώρων. Ο δευτερεύων φωτισμός σχεδιάζεται μέχρι την παραμικρή λεπτομέρεια και με τη βοήθεια ροοστάτη μπορείτε να αυξήσετε τον φωτισμό και να εστιάσετε την προσοχή σε ορισμένες εσωτερικές λεπτομέρειες (ένας πίνακας στον τοίχο, ένα όμορφο βάζο τοποθετημένο σε μια θέση κ.λπ.) Έτσι, με το βοήθεια του φωτισμού, το απαραίτητο πράγμα βγαίνει στο δωμάτιο πρώτο σχέδιο.

Οι λαμπτήρες LED, ρυθμιζόμενοι με ροοστάτες, σας επιτρέπουν να έχετε ένα πολύχρωμο εφέ κατά τη διάρκεια ορισμένων συναυλιών, διαφημίσεων ή ειδικών εκδηλώσεων.

Το dimmer είναι πολύ βολικό για πάρτι στο σπίτι. Όταν οι καλεσμένοι κάθονται στο τραπέζι, απαιτείται έντονος φωτισμός, αλλά κατά τη διάρκεια του χορού μπορείτε να τον χαμηλώσετε. Είναι ιδιαίτερα άνετο και ωφέλιμο να χρησιμοποιείτε μια τέτοια συσκευή κατά τη διάρκεια ενός ρομαντικού δείπνου ή ραντεβού, όταν δεν είναι απαραίτητο η λάμπα να είναι αναμμένη σε πλήρη ισχύ.

Και αυτά είναι μερικά μόνο από τα γενικά παραδείγματα. Σίγουρα, ο καθένας έχει τη δική του επιλογή για τη χρήση ροοστάτη. Αυτό το πράγμα λοιπόν είναι απαραίτητο, βολικό και οικονομικό, μπορείτε να το εγκαταστήσετε στο σπίτι και να το προτείνετε στους φίλους σας.

Συσκευή και αρχή λειτουργίας

Τώρα, όπως λένε, ας δούμε το dimmer από μέσα. Τι είδους συσκευή είναι αυτή και από ποια στοιχεία αποτελείται; Σε τι βασίζεται η αρχή λειτουργίας του;

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

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

Ανάλογα με το μέτωπο του ημιτονοειδούς κύματος που αποκόπτεται, η ρυθμιζόμενη μέθοδος διαφέρει:

  • Προσαρμογή μπροστινής ακμής?
  • προσαρμογή πτωτικών άκρων.

Και οι δύο αυτές μέθοδοι χρησιμοποιούνται για τον έλεγχο διαφορετικών λαμπτήρων:

  1. Η μείωση της έντασης των λαμπτήρων LED και των λαμπτήρων αλογόνου πραγματοποιείται με τη χρήση ηλεκτρονικών μετασχηματιστών και η ρύθμιση εφαρμόζεται κατά μήκος της ακμής που ακολουθεί.
  2. Οι συμπαγείς λαμπτήρες φθορισμού και LED με τάση 220 V, καθώς και οι λαμπτήρες χαμηλής τάσης, ρυθμίζονται με χρήση ηλεκτρομαγνητικών μετασχηματιστών και με τη μέθοδο της αιχμής.

Και οι δύο αυτές μέθοδοι είναι κατάλληλες για λαμπτήρες πυρακτώσεως.

Ο σχεδιασμός των dimmer περιλαμβάνει επίσης προστασία από βραχυκυκλώματα και υπερθέρμανση.

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

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

Πλεονεκτήματα και μειονεκτήματα

Οι πρώτοι ροοστάτες ήταν μηχανικά ελεγχόμενοι και είχαν μία μόνο λειτουργία - να αλλάζουν τη φωτεινότητα της λάμπας.

Ένας σύγχρονος ρυθμιστής έχει μια σειρά από άλλες λειτουργίες:

  1. Αυτόματη ενεργοποίηση και απενεργοποίηση.
  2. Μπορεί να ελεγχθεί εξ αποστάσεως μέσω ραδιοφώνου, φωνητικής εντολής, ακουστικής αλλαγής (θόρυβος ή παλαμάκια), μέσω υπέρυθρων.
  3. Ο ελεγκτής φωτισμού ευαίσθητος στην αφή σάς επιτρέπει να ανάβετε και να σβήνετε ομαλά τη λάμπα. Λόγω αυτού, είναι δυνατό να αποφευχθούν απότομες υπερτάσεις ρεύματος μέσω των λαμπτήρων, με αποτέλεσμα οι τελευταίοι συχνά να καίγονται.
  4. Οι ροοστάτες χρησιμοποιούνται για την προσομοίωση της παρουσίας. Αυτό είναι ένα ιδιαίτερα ωραίο χαρακτηριστικό που θα σας βοηθήσει να κρατήσετε τους "απρόσκλητους επισκέπτες" μακριά από το σπίτι σας όταν κανείς δεν είναι σπίτι. Ρυθμίζεται ένα ειδικό πρόγραμμα, σύμφωνα με το οποίο το dimmer ανάβει και σβήνει αυτόματα τα φώτα σε διαφορετικά δωμάτια. Δημιουργείται η ψευδαίσθηση ότι οι ιδιοκτήτες είναι στο σπίτι.

Όπως κάθε τεχνική συσκευή, ένα dimmer δεν μπορεί να είναι εκατό τοις εκατό καθολικό, έχει τα μειονεκτήματά του:

  • προκαλεί ηλεκτρομαγνητικές παρεμβολές.
  • η τάση εξόδου έχει μια μη γραμμική εξάρτηση από την τιμή της αντίστασης στο ηλεκτρονικό κύκλωμα dimmer.
  • Οι λαμπτήρες φθορισμού δεν μπορούν να λειτουργήσουν από αυτό, καθώς και οι λαμπτήρες που ανάβουν μέσω στραγγαλιστικών πηνίων.
  • η τάση εξόδου των ηλεκτρονικών ροοστάτη έχει μη ημιτονοειδή σχήμα, επομένως δεν συνιστάται η σύνδεση μετασχηματιστών υποβάθμισης σε αυτήν.
  • όταν εργάζεστε με λαμπτήρες πυρακτώσεως, χαμηλή απόδοση.

Τι είδη dimmer υπάρχουν;

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

Ας ξεκινήσουμε με τα πιο απλά - μηχανικά. Εάν λάβουμε υπόψη τον τύπο εκτέλεσης, μπορούμε να διακρίνουμε τους ακόλουθους τύπους dimmers:

  1. Modular. Ρυθμίζουν τον φωτισμό σε δημόσιους χώρους (σκάλες, διάδρομοι, είσοδοι). Αυτός ο τύπος συσκευής είναι τοποθετημένος σε πίνακα διανομής, η άμεση ρύθμιση πραγματοποιείται με ένα κουμπί ή διακόπτη με ένα πλήκτρο
  2. Μονομπλόκ. Εγκαθίσταται για να σπάσει τη φάση του κυκλώματος που πηγαίνει στο φορτίο φωτισμού και εκτελεί τις λειτουργίες ενός διακόπτη.
  3. Η έκδοση μπλοκ είναι όταν ο ροοστάτης είναι τοποθετημένος μαζί με έναν διακόπτη (όπως μια μονάδα διακόπτη πρίζας).

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

  • Στροφή. Αυτό το dimmer έχει ένα πόμολο που περιστρέφεται. Εάν το ρυθμίσετε στην πιο αριστερή θέση, ο φωτισμός απενεργοποιείται. Εάν στρίψετε σταδιακά το κουμπί προς τα δεξιά, η φωτεινότητα της λάμπας θα αυξηθεί.
  • Κλειδί. Αυτή η συσκευή μοιάζει πολύ στην εμφάνιση με έναν κανονικό διακόπτη δύο κλειδιών. Σε αυτήν την περίπτωση, ένα πλήκτρο ανάβει ή σβήνει τη λάμπα και το δεύτερο χρησιμοποιείται για τη ρύθμιση της ισχύος φωτισμού (κρατώντας το κλειδί).
  • Περιστροφή-ώθηση. Η αρχή λειτουργίας είναι η ίδια με αυτή μιας περιστροφικής συσκευής, μόνο για να ανάψει ο φωτισμός, η λαβή είναι ελαφρώς εσοχή.

Οι ελεγκτές φωτισμού με ευαισθησία στην αφή είναι πολύ δημοφιλείς τώρα, έχουν όμορφη εμφάνιση και φαίνονται αρμονικά σε κάθε εσωτερικό χώρο (ειδικά σε στυλ υψηλής τεχνολογίας). Η ρύθμιση πραγματοποιείται αγγίζοντας τα κουμπιά αφής.

Τα dimmer με τηλεχειριστήριο θεωρούνται τα πιο βολικά. Αυτό το αξίζει, γιατί χρησιμοποιώντας το τηλεχειριστήριο μπορείτε να ρυθμίσετε τη φωτεινότητα του φωτιστικού από οπουδήποτε στο δωμάτιο.

Οι ακουστικοί ροοστάτες χρησιμοποιούνται συχνότερα όταν σχεδιάζετε ένα «έξυπνο σπίτι», όπου ο φωτισμός μπορεί να ελεγχθεί με φωνητικές εντολές ή χτυπώντας τα χέρια σας.

Οι ροοστάτες μπορούν να χωριστούν ανάλογα με τον τύπο των λαμπτήρων που ελέγχουν:

  1. Οι απλούστερες συσκευές χρησιμοποιούνται για λαμπτήρες πυρακτώσεως και αλογόνου, οι οποίοι λειτουργούν με τάση 220 V. Όλα είναι απλά εδώ - η τάση αλλάζει και η ισχύς πυράκτωσης του νήματος ρυθμίζεται.
  2. Το κύκλωμα για λαμπτήρες αλογόνου που λειτουργούν με τάση 12 V ή 24 V πρέπει να διαθέτει μετασχηματιστή υποβάθμισης. Όταν αυτό δεν είναι δυνατό, τότε επιλέξτε έναν ρυθμιστή για τον τύπο του μετασχηματιστή που χρησιμοποιείται (έχουν ειδική σήμανση - C για ηλεκτρονικό, RL για περιέλιξη).
  3. Οι λαμπτήρες LED απαιτούν την εγκατάσταση ροοστάτη με διαμόρφωση παλμού της τρέχουσας συχνότητας.

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

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

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

Καλησπέρα, αγαπημένες ομορφιές!

Είμαι ξανά μαζί σου, Oksana Zubkova :)

Και σήμερα θέλω να σας πω για την εκπληκτική δύναμη ενός χαπιού θαύματος ή μιας ακριβής διαδικασίας. Και όχι για υπερπόντια SUPERed. Σήμερα θα μιλήσουμε για... απλό λάχανο :) Αυτό όμως δεν είναι καθόλου απλό. Και υπάρχει στη Φύση για την πλήρη προστασία της υγείας της Γυναίκας και τη φυσική ισορροπία των ορμονών της. Είναι αυτό το ΔΥΝΑΤΟ λάχανο για το οποίο θα μιλήσουμε σήμερα.

Έχει αποδειχθεί ότι οι γυναίκες είναι σχεδόν αρκετές φορές πιο ευάλωτες σε διάφορα αυτοάνοσα νοσήματα από τους άνδρες. Το όλο θέμα είναι ότι το επίπεδο των οιστρογόνων επηρεάζει άμεσα τη δύναμη ή την αδυναμία του ανοσοποιητικού μας. Τα κύτταρα του ανοσοποιητικού έχουν τυπικά υποδοχείς οιστρογόνων και είναι αυτές οι ορμόνες που τα διεγείρουν να παράγουν αντισώματα σε περίπτωση απειλής για την υγεία του σώματος.

Αν παρατηρείς τον εαυτό σου

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

Τότε να ξέρεις ότι ο λόγος 90% ορμονικά προβλήματα σύγχρονος άνθρωπος είναι ΨΕΥΔΟοιστρογόνα - ουσίες που παράγονται από τα ανθρώπινα χέρια, οι οποίες, όταν εισέρχονται στο σώμα μας, αναγνωρίζονται από αυτό ως δικές του ορμόνες, τα οιστρογόνα.

ΨΕΥΔΟοιστρογόνα, ή «ψεύτικα» οιστρογόνα - Πρόκειται για συνθετικές ορμόνες που περιέχουν αντισυλληπτικά χάπια, βαρέα μέταλλα στον αέρα και στα τρόφιμα, στεγνό καθάρισμα, τα περισσότερα εμπορικά καλλυντικά, βαφές μαλλιών, πλαστικό, αντιβακτηριακό σαπούνι, καφέ, κρέας του εμπορίου, καθώς και «αβλαβή» τσίχλα ( candida). Είναι ικανά, ακόμη και με ελάχιστη είσοδο στο σώμα, να αυξήσουν την ποσότητα των οιστρογόνων αρκετές φορές, διαταράσσοντας έτσι την ευαίσθητη ισορροπία των ορμονών και δεκάδες, εκατοντάδες φορές αυξάνοντας τις πιθανότητες εμφάνισης καρκίνου.

«Τι σχέση έχει το λάχανο;» - ρωτάς :) Και παρά το γεγονός ότι η Φύση μας δίνει μια μοναδική λύση σε όλα τα παραπάνω προβλήματα - χωρίς συνθετικές ορμόνες, θεραπείες, χάπια και άλλα παρόμοια. Μόνο λάχανο! Και μπορείτε να είστε σίγουροι ότι θα πάρετε τον έλεγχο του επιπέδου των «κακών» οιστρογόνων εύκολα και γρήγορα.

Δεν θα φάνε όλοι λάχανο για πρωινό, μεσημεριανό και βραδινό... Και εξάλλου δεν υπάρχει λάχανο τον χειμώνα. Τι να κάνω; Η απάντηση, όπως πάντα, είναι απλή. Αφαιρέστε την ουσία DIM από το λάχανο, βάλτε τη σε μια χρήσιμη κάψουλα και πιείτε την με ένα ποτήρι νερό.


DIM – δι-ινδόλη μεθάνιο
είναι ένα εκχύλισμα από φυτά λάχανου που έχει τη μοναδική ικανότητα να απομακρύνει τα ΨΕΥΔΟοιστρογόνα από τον οργανισμό, παρέχοντας έτσι την ασφάλειά σας για υγιείς ορμόνες, προστασία από τον καρκίνο και ισχυρό ανοσοποιητικό σύστημα.

ΑΜΥΔΡΟΣκάνει το σώμα σας λεπτό, μειώνοντας το ποσοστό του σωματικού λίπους και σας χαρίζει λαμπερό και όμορφο σεξ, γιατί βελτιώνει τη λειτουργία όχι μόνο των ορμονών σας, αλλά και ρυθμίζει την υγεία του προστάτη στους άνδρες.

DIM – Ορμονικό χάπι από τη φύση!

Το DIM βρίσκεται σε σταυρανθή λαχανικά, όπως το λάχανο, το κουνουπίδι, τα λαχανάκια Βρυξελλών, το σαβαγιάρ, το κόκκινο λάχανο, το κουλράμπι, το μπρόκολο και άλλα παρόμοια πράσινα λαχανικά.

Βιοενεργό ΑΜΥΔΡΟΣΕπιπλέον, αυτός είναι ο πιο φυσικός τρόπος για να βελτιώσετε τη λειτουργία των ορμονών σας και να επαναφέρετε το βάρος σας στο φυσιολογικό.

Αλλά δεν είναι μόνο αυτό! Ουσία που βρέθηκε στα κόκκινα λουλούδια - σουλφοραφάνη – είναι ένα ογκοπροστατευτικό που μπορεί να καταστείλει τα καρκινικά κύτταρα και ακόμη και να προάγει την αυτοκαταστροφή τους. Η σουλφοραφάνη ενεργοποιεί επίσης την αποκατάσταση των πρωτεϊνών σε κύτταρα που έχουν υποστεί βλάβη από κακοήθη νεοπλάσματα και βοηθά στην προστασία του οργανισμού από τις επιπτώσεις των καρκινογόνων και των ελεύθερων ριζών. Πολυάριθμες μελέτες έχουν αποδείξει την αποτελεσματικότητά του στη θεραπεία του καρκίνου του μαστού.

Γι' αυτό συμπλήρωμα διατροφής DIM– Η καλύτερη, 100% φυσική σας προστασία από τον καρκίνο!

Οι τελευταίες συγχορδίες για να μιλήσουμε μειώνονται και αυξάνονται.

Οι μειωμένες συγχορδίες γράφονται είτε ως "αχνές" είτε μερικές φορές με κύκλο (Cdim ή Co).

Οι αμυδρές συγχορδίες αποτελούνται από τις ακόλουθες νότες:

1η, δευτερεύουσα 3η, μειωμένη 5η, διπλή επίπεδη 7η (διπλό επίπεδο - για όσους καταλαβαίνουν)

(μια διπλή επίπεδη 7η είναι η ίδια νότα με μια μεγάλη 6η, αλλά στη θεωρία της μουσικής συνήθως γράφεται ως διπλή επίπεδη 7η και μην ρωτάτε γιατί!)

Ο Adim τότε θα μοιάζει με: A, C, Eb, Gb

Σημειώστε ότι τα διαστήματα μεταξύ διαδοχικών νότων σε μια αμυδρή συγχορδία είναι ΟΛΑ τα δευτερεύοντα τρίτα.

Αυτό σημαίνει ότι αν δημιουργήσετε μια αμυδρή συγχορδία για το C, θα λάβετε τις ίδιες νότες με το Adim.

Με άλλα λόγια, Adim = Cdim = Ebdim = Gbdim = A+C+Eb+Gb Έτσι, όταν παίζετε μια αμυδρή συγχορδία, μετακινώντας την τρία τάστα πάνω ή κάτω θα σας δώσει την ίδια συγχορδία!

Υπάρχει επίσης μια συγχορδία που ονομάζεται μισή συγχορδία ή μειωμένη 7. Συνήθως τη γράφω κάτι σαν Ε7-5 - άλλο όνομα για την ίδια συγχορδία. Είναι πολύ χρήσιμο να γνωρίζουμε διαφορετικά ονόματα για την ίδια συγχορδία.

Η διαφορά μεταξύ αυτού και της «κανονικής» αμυδρής συγχορδίας είναι ότι η 7η σε αυτήν τη συγχορδία είναι απλά επίπεδη και όχι διπλή (παρεμπιπτόντως, γι 'αυτό ονομάζεται μισομειωμένη).

Αποτελείται από τα ακόλουθα βήματα: 1ο, μικρό 3ο, μικρό 5ο, μικρό 7ο

Μια επαυξημένη συγχορδία αποτελείται από τις ακόλουθες νότες:

1ος, μεγάλος 3ος, επαυξημένος 5ος

Έτσι, ο Aug μοιάζει με αυτό: A C# F
(τα διαστήματα μεταξύ γειτονικών νότων είναι μεγάλα τρίτα - δηλαδή 4 ημιτόνια)

Συνήθως γράφονται ως "A aug" ή "A+" ή "A+5".

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

Μιλήσαμε για τη μειωμένη συγχορδία στο άρθρο για τις έβδομες συγχορδίες - αυτή είναι μια έβδομη συγχορδία, δηλαδή αποτελείται από τέσσερις ήχους. Γιατί είναι μικρότερο; - διαβάστε για αυτό στο άρθρο. Πώς να χρησιμοποιήσετε αυτή τη χορδή σε αρμονία συζητήθηκε στο άρθρο. Στην πραγματικότητα, υπάρχουν πολλές εφαρμογές - αντικαταστήσαμε επίσης, για παράδειγμα, την κυρίαρχη έβδομη συγχορδία του G7 με μειωμένες συγχορδίες. Γνωρίζετε επίσης για τα ενδιαφέροντα χαρακτηριστικά αυτών των αρμονιών, τα οποία διευρύνουν σημαντικά το πεδίο εφαρμογής τους στο λαιμό της κιθάρας από το άρθρο.

Σήμερα θα μάθουμε κάτι άλλο ενδιαφέρον που μπορεί επίσης να χρησιμοποιηθεί.

Ας φανταστούμε ότι έχουμε αρμονία και περιέχει, ως συνήθως, τονωτικό - υποκυρίαρχο - κυρίαρχο. Και μια από τις συγχορδίες μας είναι ματζόρε (ή ματζόρε έβδομη συγχορδία) ή ακόμα και δύο, δεν έχει σημασία. Για παράδειγμα, το τονωτικό είναι το C-maj, το υποκυρίαρχο είναι το F-maj και το κυρίαρχο είναι το G7. Παρεμπιπτόντως, θυμάστε πώς να αντικαταστήσετε καθεμία από αυτές τις συγχορδίες, χρησιμοποιώντας τα χαρακτηριστικά που περιγράψαμε στο άρθρο;

Θα εξετάσουμε την ευκαιρία να διαφοροποιήσουμε τον τύπο της κύριας χορδής σήμερα. Μερικές φορές χρησιμοποιούν έναν συνδυασμό μειωμένης συγχορδίας και μείζονος C-maj εναλλάσσεται με ένα C-sharp-diminished - ακούγεται ενδιαφέρον. Μπορούμε να παίξουμε και C#dim αντί για C-maj, δηλαδή είναι εναλλάξιμα.

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

Πώς μπορούμε να το εξηγήσουμε αυτό; Στην πραγματικότητα, μπορεί να καταλήξετε μόνοι σας στο συμπέρασμα ότι το C-maj και το C#dim είναι συγγενείς συγχορδίες και μπορούν να αλλάξουν μεταξύ τους. Για να το κάνετε αυτό, πρέπει να εκτελέσετε μερικούς χειρισμούς - βρείτε το μεσαίο Em από το Cmaj.

ρύζι. 1

Στη συνέχεια, μετατρέψτε το Em σε Em6 και αλλάξτε τη νότα του μπάσου (τονωτικό) σε A (όπως κάναμε στο άρθρο).

ρύζι. 2

Και μετά αλλάζουμε τη νότα Α στο Α7 που προκύπτει σε Α-ευκρινή, παίρνοντας C#dim (C-sharp-diminished).

ρύζι. 3

Αποδείχθηκε ότι οι συγχορδίες Cmaj και C#dim είναι σε κάποιο βαθμό ίσες μεταξύ τους και ως εκ τούτου μπορούν να αλληλεπιδράσουν αρμονικά ή ακόμη και να αντικαταστήσουν η μία την άλλη.

ρύζι. 4

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

Μια μεταβλητή είναι ένα κοντέινερ στο οποίο το VBA αποθηκεύει δεδομένα. Πιο αναλυτικά, είναι σαν ένα κουτί στο οποίο μπορείτε να βάλετε κάτι για αποθήκευση και στη συνέχεια να το βγάλετε όσο χρειάζεται. Μόνο σε αυτήν την περίπτωση, αποθηκεύουμε έναν αριθμό, μια συμβολοσειρά ή άλλα δεδομένα σε μια μεταβλητή, τα οποία μπορούμε στη συνέχεια να εξαγάγουμε από αυτήν και να τα χρησιμοποιήσουμε στον κώδικα όπως απαιτείται.

Σε τι χρησιμεύει η μεταβλητή; Για να αποθηκεύσετε μια τιμή και να την εφαρμόσετε αργότερα ανά πάσα στιγμή. Για παράδειγμα, το ποσό γράφεται στο κελί A1 και κάνοντας κλικ στο κουμπί ξεκινά η ενημέρωση της αναφοράς. Μετά την ενημέρωση της αναφοράς, το ποσό σε Α1 θα αλλάξει. Είναι απαραίτητο να ελέγξετε το ποσό πριν την ενημέρωση με το ποσό μετά και, ανάλογα με αυτό, να προβείτε σε κάποια ενέργεια. Η μεταβλητή θα σας επιτρέψει απλώς να θυμάστε την τιμή του κελιού προτού ενημερωθεί και να χρησιμοποιήσετε ακριβώς αυτήν την τιμή μετά την ενημέρωση.

Απαιτήσεις για μεταβλητές:

Μπορείτε να χρησιμοποιήσετε σύμβολα γραμμάτων και αριθμών ως ονόματα μεταβλητών, αλλά το πρώτο γράμμα σε ένα όνομα μεταβλητής πρέπει πάντα να είναι γράμμα. Δεν επιτρέπεται η χρήση τελείων, κόμματος, διαστημάτων και άλλων σημείων στίξης εκτός από την υπογράμμιση. Το μήκος του ονόματος δεν πρέπει να υπερβαίνει τους 254 χαρακτήρες. Επίσης, δεν μπορείτε να χρησιμοποιήσετε δεσμευμένες σταθερές του επεξεργαστή VBA ως ονόματα για μεταβλητές. (για παράδειγμα Sub, Msgbox, ubound, Date, κ.λπ.). Επίσης, η περίπτωση των γραμμάτων δεν είναι σημαντική για τις μεταβλητές.

Τώρα ας δούμε τους κύριους τύπους δεδομένων που δηλώνονται στο VBA που μπορούν να αποθηκευτούν σε μεταβλητές:

Τύπος δεδομένων Καταλαμβάνει ένα byte στη μνήμη Όρια αξίας
Ψηφιόλεξη 1 Ακέραιοι αριθμοί από 0 πριν 255
Boolean 2 Αληθήςή Ψευδής
Ακέραιος αριθμός 2 Ακέραιοι από ( -32768 ) πριν 32767
Μακρύς 4 Ακέραιοι από ( -2147483648 ) πριν 2147483647
Μονόκλινο 4 Από ( –3,402823E+38) πριν ( –1,401298E-45) και από 1,401298Ε-45πριν 3,402823E+38
Διπλό 8 Από ±1,79769313486232E+308πριν ±4,94065645841247E-324
Δεκαδικός 12 Από ±79228162514264337593543950335χωρίς δεκαδικά ψηφία πριν ±7,9228162514264337593543950335με 28 δεκαδικά ψηφία
Νόμισμα 8 Από ( –922337203685477.5808 ) πριν 922337203685477.5807
Ημερομηνία 8 Από 01.01.100 πριν 31.12.9999 (δεν πρέπει να συγχέεται με τις ημερομηνίες στο Excel - 01/01/1900 έως 31/12/2078)
Σειρά 1 Από 0 πριν 65400 χαρακτήρες για σταθερές συμβολοσειρές και λίγο πάνω από 2 δισεκατομμύρια για συμβολοσειρές μεταβλητού μήκους
Αντικείμενο 4 Οποιοδήποτε αντικείμενο
Πίνακας Καθορίζεται από τον αριθμό και το μέγεθος των στοιχείων -
Παραλαγή από 16 Οποιοσδήποτε από τους ενσωματωμένους τύπους δεδομένων

Όπως μπορείτε να δείτε από τον πίνακα, η Variant καταλαμβάνει την περισσότερη μνήμη. Επιπλέον, αυτό συμβαίνει εάν αποθηκεύει αριθμητικά δεδομένα. Εάν μια τέτοια μεταβλητή αποθηκεύει δεδομένα του τύπου συμβολοσειράς (κείμενο), τότε το μέγεθος της κατειλημμένης μνήμης θα μετρηθεί ξεκινώντας από 22 byte + το μήκος της συμβολοσειράς που είναι αποθηκευμένη στη μεταβλητή. Όσο περισσότερη μνήμη καταλαμβάνει μια μεταβλητή, τόσο περισσότερος χρόνος χρειάζεται για να αρχικοποιηθεί στη μνήμη και τόσο πιο αργά θα εκτελεστεί ο κώδικας. Αυτός είναι ο λόγος για τον οποίο είναι σημαντικό να ορίσετε ρητά τον τύπο των δεδομένων που αποθηκεύονται σε μια μεταβλητή - αυτό ονομάζεται δηλώσει μια μεταβλητή.

Ο τύπος δεδομένων Δεκαδικός δεν χρησιμοποιείται πλέον, επομένως η δήλωση μιας μεταβλητής αυτού του τύπου στο VBA δεν θα λειτουργήσει - μια τέτοια προσπάθεια θα οδηγήσει σε συντακτικό σφάλμα. Για να εργαστείτε με δεδομένα τύπου δεκαδικού, η μεταβλητή πρέπει αρχικά να δηλωθεί ως παραλλαγή ή χωρίς καθόλου τύπο (για παράδειγμα, Dim a), επειδή Ο τύπος δεδομένων Variant είναι ο προεπιλεγμένος στη VBA και δέχεται οποιονδήποτε τύπο δεδομένων.

Μπορείτε επίσης να αντιστοιχίσετε άλλους τύπους δεδομένων σε μεταβλητές που δεν περιλαμβάνονται στον παραπάνω πίνακα - αυτοί είναι τύποι που υποστηρίζονται από το μοντέλο αντικειμένου των εφαρμογών στις οποίες είναι «συνδεδεμένο» το VBA. Για παράδειγμα, εάν εισαγάγετε VBA από το Excel, η βιβλιοθήκη τύπων μοντέλου αντικειμένου Excel είναι ενεργοποιημένη από προεπιλογή και πολλοί τύποι αυτού του μοντέλου αντικειμένου γίνονται διαθέσιμοι για μεταβλητές. Πολλά από αυτά είναι γνωστά σε όλους: Τετράδιο εργασίας, Φύλλο εργασίας, Εύρος, Κελιά, Διάγραμμα κ.λπ. Εκείνοι. Αυτά είναι βιβλία, φύλλα, κελιά, γραφήματα. Υπάρχουν πολλοί τύποι, για σχεδόν κάθε αντικείμενο και συλλογή. Δεν έχει νόημα να συζητάμε τα πάντα εδώ. Μπορώ απλώς να σας δώσω μερικές γραμμές κώδικα:

Dim rRange as Range Set rRange = Range("A1") "εκχωρήθηκε μια αναφορά στο κελί A1 του τρέχοντος φύλλου

Οι δηλώσεις μεταβλητών περιγράφονται λεπτομερώς παρακάτω.
Μπορείτε να διαβάσετε περισσότερα σχετικά με την πρόσβαση σε εύρη από VBA σε αυτό το άρθρο: Πώς να αποκτήσετε πρόσβαση σε μια περιοχή από VBA

Πώς να δηλώσετε μεταβλητές
Στην πραγματικότητα, όλα είναι πολύ απλά. Αυτό γίνεται χρησιμοποιώντας τους τελεστές εμβέλειας: Dim, Public, Static και τον τελεστή εκχώρησης As. Ο πιο συνηθισμένος χειριστής είναι ο Dim. Ας το πάρουμε ως παράδειγμα. Σύνταξη δήλωσης:

[τελεστής πεδίου] Variable_name As [τύπος δεδομένων]

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

Dim MyVar1, MyVar2, MyVar3 ως ακέραιος

Dim MyVar1, MyVar2, MyVar3 ως ακέραιος

Φαίνεται ότι με βάση τη λογική, σε όλες τις μεταβλητές εκχωρείται ο τύπος δεδομένων Integer. Αλλά αυτή είναι μια λανθασμένη κρίση. Ο τύπος Integer εκχωρείται μόνο στην τελευταία μεταβλητή στην οποία είναι "δεσμευμένος" από τον τελεστή As - MyVar3. Όλες οι άλλες μεταβλητές είναι του τύπου δεδομένων Variant. Εκείνοι. εάν δεν προσδιορίσετε ρητά τον τύπο των αποθηκευμένων δεδομένων για τη μεταβλητή (δηλαδή μην καθορίσετε τύπο δεδομένων για αυτό), τότε η ίδια η VBA εκχωρεί τον τύπο δεδομένων Variant σε μια τέτοια μεταβλητή, επειδή μπορεί να αποθηκεύσει κάθε τύπο δεδομένων. Και έτσι φαίνεται μια σωστή αντιστοίχιση τύπου δεδομένων:

Dim MyVar1%, MyVar2%, MyVar3%

Υπάρχουν μόνο έξι τύποι που μπορούν να δηλωθούν με παρόμοια μέθοδο:
! - Ανύπαντρος
# - Διπλό
$ - Χορδή
% - Ακέραιος αριθμός
& - Μακρύς
@ - Νόμισμα
Τι πρέπει να προσέξετε όταν δηλώνετε μεταβλητές με αυτόν τον τρόπο: δεν πρέπει να υπάρχουν κενά μεταξύ του ονόματος της μεταβλητής και του σύμβολου τύπου.
Προσωπικά προτιμώ να χρησιμοποιώ την πρώτη μέθοδο, δηλ. ένδειξη πλήρους τύπου. Είναι πιο ευανάγνωστο και κατανοητό. Αλλά αυτές είναι οι προτιμήσεις μου και στους κωδικούς σας έχετε το δικαίωμα να χρησιμοποιήσετε μια μέθοδο βολική για εσάς - δεν θα υπάρξουν λάθη.

Τώρα ας δούμε τους τελεστές εμβέλειας (Dim, Public και Static):

  • Dim - αυτός ο τελεστής χρησιμοποιείται για να δηλώσει μια μεταβλητή, η τιμή της οποίας θα αποθηκευτεί μόνο στη διαδικασία εντός της οποίας δηλώνεται αυτή η μεταβλητή. Όταν εκκινείται μια διαδικασία, μια τέτοια μεταβλητή αρχικοποιείται στη μνήμη. Μπορείτε να χρησιμοποιήσετε την τιμή της μόνο σε αυτήν τη διαδικασία, και μετά την ολοκλήρωση της διαδικασίας, η μεταβλητή εκφορτώνεται από τη μνήμη (επαναφέρεται στο μηδέν) και τα δεδομένα σε αυτήν χάνονται. Μια μεταβλητή που δηλώνεται με αυτόν τον τρόπο ονομάζεται επίσης τοπική μεταβλητή. Ωστόσο, χρησιμοποιώντας αυτόν τον τελεστή, μπορείτε να δηλώσετε μια μεταβλητή που θα είναι διαθέσιμη σε οποιαδήποτε διαδικασία στη λειτουργική μονάδα. Είναι απαραίτητο να δηλώσετε μια μεταβλητή εκτός της διαδικασίας - στην περιοχή δήλωσης (διαβάστε ως η πρώτη γραμμή στο module, μετά τις γραμμές δήλωσης τύπου - Option Explicit). Τότε η τιμή της μεταβλητής θα είναι διαθέσιμη σε οποιαδήποτε διαδικασία μόνο της ενότητας στην οποία δηλώθηκε αυτή η μεταβλητή. Τέτοιες μεταβλητές ονομάζονται μεταβλητές επιπέδου ενότητας.
  • Στατικός - αυτός ο τελεστής χρησιμοποιείται για να δηλώσει μια μεταβλητή της οποίας η τιμή προορίζεται να χρησιμοποιηθεί σε μια διαδικασία, αλλά χωρίς να χάσει την τιμή αυτής της μεταβλητής μετά την ολοκλήρωση της διαδικασίας. Οι μεταβλητές αυτού του τύπου χρησιμοποιούνται συνήθως ως αθροιστικοί μετρητές. Μια τέτοια μεταβλητή αρχικοποιείται στη μνήμη την πρώτη φορά που εκτελείται η διαδικασία στην οποία δηλώνεται. Με την ολοκλήρωση της διαδικασίας, τα δεδομένα για τη μεταβλητή δεν ξεφορτώνονται από τη μνήμη, αλλά δεν είναι διαθέσιμα σε άλλες διαδικασίες. Μόλις εκτελέσετε ξανά τη διαδικασία με αυτήν τη μεταβλητή, τα δεδομένα για μια τέτοια μεταβλητή θα είναι διαθέσιμα στη μορφή που ήταν πριν την ολοκλήρωση της διαδικασίας. Μια τέτοια μεταβλητή εκφορτώνεται από τη μνήμη μόνο μετά το κλείσιμο του έργου. (βιβλία με κωδικό). Στην κοινή γλώσσα, τέτοιες μεταβλητές καλούνται συχνότερα παγκόσμια(πιθανόν λόγω του γεγονότος ότι προηγουμένως τέτοιες μεταβλητές δηλώνονταν χρησιμοποιώντας τον τελεστή Global, ο οποίος είναι πλέον απαρχαιωμένος και δεν χρησιμοποιείται)
  • Public - αυτός ο τελεστής χρησιμοποιείται για να δηλώσει μια μεταβλητή της οποίας η τιμή θα αποθηκευτεί σε οποιαδήποτε διαδικασία έργου. Μια μεταβλητή που δηλώνεται με αυτόν τον τρόπο πρέπει να δηλωθεί εκτός της διαδικασίας - στην περιοχή δήλωσης. Μια τέτοια μεταβλητή φορτώνεται στη μνήμη όταν φορτώνεται το έργο (ανοίγοντας το βιβλίο)και αποθηκεύει την τιμή μέχρι να εκφορτωθεί το έργο (κλείνοντας το βιβλίο). Μπορείτε να το χρησιμοποιήσετε σε οποιαδήποτε ενότητα και οποιαδήποτε διαδικασία έργου. Σπουδαίος:Είναι απαραίτητο να δηλώσετε μια μεταβλητή με αυτόν τον τρόπο αυστηρά σε μια τυπική ενότητα. Τέτοιες μεταβλητές ονομάζονται μεταβλητές επιπέδου έργου.
    Για καλύτερη κατανόηση του πού και του τρόπου δήλωσης μεταβλητών σε επίπεδο έργου, δύο μικρά παραδείγματα.
    Λάθος διαφήμιση

    Επιλογή Explicit Sub main() Public MyVariable As String MyVariable = "Global variable" "εμφάνιση της τρέχουσας τιμής της μεταβλητής MsgBox MyVariable "προσπαθήστε να αλλάξετε την τιμή της μεταβλητής Call sub_main "εμφάνιση της αλλαγμένης τιμής της μεταβλητής MsgBox MyVariable End Sub " πρόσθετη διαδικασία για την αλλαγή της τιμής της δευτερεύουσας μεταβλητής ChangeMyVariable() MyVariable = "Άλλαξε την τιμή της" Τέλος Sub

    Οι μεταβλητές δεν θα είναι ορατές σε όλες τις ενότητες όλων των διαδικασιών και συναρτήσεων του έργου επειδή:
    1. Ο δημόσιος τελεστής δεν επιτρέπεται εντός μιας διαδικασίας (μεταξύ Sub και End Sub), επομένως η VBA θα παρουσιάσει σίγουρα ένα σφάλμα όταν προσπαθεί να εκτελέσει μια τέτοια διαδικασία - Μη έγκυρο χαρακτηριστικό σε δευτερεύουσα ή συνάρτηση.
    2. Ακόμα κι αν το Public αντικατασταθεί με Dim, θα είναι ήδη μια μεταβλητή σε επίπεδο διαδικασίας και δεν θα είναι διαθέσιμη για άλλες διαδικασίες.
    3. Επειδή η δήλωση είναι εσφαλμένη - η δεύτερη διαδικασία (ChangeMyVariable) δεν γνωρίζει τίποτα για τη μεταβλητή MyVariable και, φυσικά, δεν θα μπορεί να την αλλάξει.
    Σωστή ανακοίνωση

    "πάνω από καθολικές μεταβλητές και σταθερές μπορούν να υπάρχουν μόνο δηλώσεις:Επιλογή ρητή «αναγκαστική δήλωση μεταβλητώνΒάση επιλογής 1 "Το κάτω όριο των δηλωμένων πινάκων ξεκινά από το 1Επιλογή Σύγκριση κειμένου "Σύγκριση κειμένου χωρίς διάκριση πεζών-κεφαλαίων «Παγκόσμια μεταβλητή - πρώτη γραμμή, πάνω από όλα διαδικασίεςΔημόσια MyVariable ως συμβολοσειρά «Περαιτέρω διαδικασίες και λειτουργίες Sub main() MyVariable = "Παγκόσμια μεταβλητή" "εμφάνιση της τρέχουσας τιμής της μεταβλητής MsgBox MyVariable, vbInformation, "www.site" "προσπαθώντας να αλλάξετε την τιμή μιας μεταβλητήςΚαλέστε το ChangeMyVariable "εμφάνιση της αλλαγμένης τιμής της μεταβλητής MsgBox MyVariable, vbInformation, "www.site" End Sub "πρόσθετη διαδικασία για την αλλαγή της τιμής μιας μεταβλητής Sub ChangeMyVariable() MyVariable = «Του άλλαξαν το νόημα» End Sub

    "Μόνο οι δηλώσεις μπορούν να βρίσκονται πάνω από καθολικές μεταβλητές και σταθερές: Επιλογή Ρητή "αναγκαστική δήλωση μεταβλητών Επιλογή Βάση 1" το κατώτερο όριο των δηλωμένων πινάκων ξεκινά από 1 Επιλογή Σύγκριση κειμένου "Σύγκριση κειμένου χωρίς διάκριση πεζών-κεφαλαίων" καθολική μεταβλητή - πρώτη γραμμή, πάνω από όλες τις διαδικασίες Δημόσιο MyVariable As String "further procedures and functions Sub main() MyVariable = "Global variable" "εμφανίζει την τρέχουσα τιμή της μεταβλητής MsgBox MyVariable, vbInformation, "www.site" "προσπαθεί να αλλάξει την τιμή της μεταβλητής Call ChangeMyVariable "εμφανίζει το αλλαγμένη τιμή της μεταβλητής MsgBox MyVariable, vbInformation, "www ..διαδικασία αλλαγής της τιμής μιας μεταβλητής Sub ChangeMyVariable() MyVariable = "Άλλαξε την τιμή της" Τέλος Sub

  • Οι χειριστές πεδίου εφαρμογής μπορούν επίσης να εφαρμοστούν σε διαδικασίες. Υπάρχει ένας ακόμη χειριστής εμβέλειας διαθέσιμος για διαδικασίες - Ιδιωτικός. Μια διαδικασία που δηλώνεται με αυτόν τον τρόπο είναι προσβάσιμη μόνο από τη μονάδα στην οποία είναι γραμμένη και μια τέτοια διαδικασία δεν είναι ορατή στο πλαίσιο διαλόγου για την κλήση μακροεντολών( Alt+F8)

Πώς να ονομάσετε σωστά μια μεταβλητή:

"Ποιο είναι το πιο δύσκολο πράγμα στο να είσαι προγραμματιστής; Βρίσκει ονόματα για μεταβλητές." :-) Αλλά το να βρεις ένα όνομα μεταβλητής δεν είναι επίσης τόσο εύκολο. Μπορείτε, φυσικά, να τους δώσετε ονόματα όπως: ένα, ρε, φά, Χ, yκ.λπ. (το κάνω μερικές φορές μόνος μου, αλλά είτε σε απλούς κώδικες είτε για ειδική συσκότιση του κώδικα). Αλλά αξίζει να σκεφτείτε: πώς θα τα διαχειριστείτε σε έναν μεγάλο κώδικα; Ο κώδικας της γραμμής 10 θα εξακολουθεί να ανέχεται τέτοια ονόματα, αλλά για μεγαλύτερα έργα, δεν θα συνιστούσα να λειτουργήσετε με τέτοιες μεταβλητές σε αυτά. Εσείς οι ίδιοι θα μπερδευτείτε σχετικά με το ποια μεταβλητή δηλώνεται και τι τύπο δεδομένων μπορεί να αποθηκεύσει και ποια τιμή της αποδίδεται. Επομένως, είναι καλύτερο να δίνετε στις μεταβλητές σας ονόματα με νόημα και να ακολουθείτε τις συμβάσεις ονομασίας μεταβλητών. Τι είδους συμφωνία; Είναι πολύ απλό: ένα πρόθεμα τοποθετείται πριν από το κύριο όνομα της μεταβλητής, υποδεικνύοντας τον τύπο των δεδομένων που σκοπεύουμε να αποθηκεύσουμε σε αυτήν τη μεταβλητή. Έχω ήδη μιλήσει για τους διαθέσιμους τύπους δεδομένων παραπάνω. Ακολουθεί ένα παράδειγμα πίνακα αντιστοιχίας προθέματος σε τύπους δεδομένων:

Πρόθεμα Τύπος αποθηκευμένων δεδομένων
σι Boolean
bt Ψηφιόλεξη
Εγώ Ακέραιος αριθμός
μεγάλο Μακρύς
μικρό Μονόκλινο
ρε Διπλό
ντο Νόμισμα
dt Ημερομηνία
str Σειρά
αντικ Αντικείμενο
v Παραλαγή

Προσωπικά, το ξαναέφτιαξα λίγο για τον εαυτό μου, γιατί... Μερικές από τις σημειώσεις μου φαίνονται αραιές. Για παράδειγμα, δηλώνω Double as dbl, και Single as sgl. Αυτό μου φαίνεται πιο ξεκάθαρο.

Ποιο είναι ένα άλλο πλεονέκτημα του ρητού προσδιορισμού του προθέματος δεδομένων. Το VBA έχει τελεστές όπως το Def, με τους οποίους μπορείτε να καθορίσετε τον προεπιλεγμένο τύπο δεδομένων για μεταβλητές των οποίων το πρώτο γράμμα του ονόματος εμπίπτει στο εύρος που καθορίζεται στον τελεστή. Για παράδειγμα:

DefBool B-C Sub test() Dim bCheck, cCheck End Sub

Αλλά πιστεύω ότι ένα γράμμα για έναν τύπο είναι αρκετά. Μπορείτε να καθορίσετε πολλούς τελεστές Def ταυτόχρονα.

DefBool B DefStr S Sub test() Dim bCheck, sCheck End Sub

DefBool B DefStr S Sub test() Dim bCheck, sCheck End Sub

Παρακάτω είναι μια πλήρης λίστα τελεστών τύπου και τα δεδομένα που καθορίζει ο καθένας:
DefBool- Ορίζει τον τύπο σε Boolean
DefByte- Ορίζει τον τύπο Byte
DefCur- Ορίζει τον τύπο νομίσματος
DefDate- Ορίζει τον τύπο ημερομηνίας
DefDbl- Ορίζει τον τύπο Double
DefInt- Ορίζει τον τύπο σε Integer
DefLng- Ορίζει τον τύπο Long
DefObj- Καθορίζει τον τύπο αντικειμένου
DefSng- Ορίζει τον τύπο Single
DefStr- Καθορίζει τον τύπο συμβολοσειράς
DefVar- Καθορίζει τον τύπο παραλλαγής
Από προεπιλογή, το VBA χρησιμοποιεί τη δήλωση DefVar για όλες τις μεταβλητές.

Λοιπόν, ένα σημαντικό σημείο είναι το άμεσα σημαντικό όνομα της μεταβλητής. Το όνομα της μεταβλητής πρέπει να αντικατοπτρίζει κατά προσέγγιση τι θα αποθηκευτεί σε αυτό. Για παράδειγμα, δημιουργείτε μια αναφορά και πρέπει να δηλώσετε δύο μεταβλητές: η μία είναι το όνομα του φύλλου και η άλλη το όνομα του βιβλίου εργασίας. Θα μπορούσατε να το κάνετε ως εξής: str1, str2. Με λίγα λόγια, υπέροχο. Αλλά αν το σκεφτείτε, πώς μπορείτε να καταλάβετε ποια από αυτές τις μεταβλητές αποθηκεύει τι; Με τιποτα. Πρέπει να κοιτάξετε τον κώδικα και να θυμάστε σε ποια μεταβλητή έχει εκχωρηθεί ποια τιμή. Δεν είναι ακριβώς βολικό, σωστά; Τι γίνεται αν ορίσετε τα ονόματα ως εξής: strBookName, strSheetName, τότε φαίνεται να είναι πιο σαφές τι θα αποθηκεύσουμε σε αυτά Αυτό είναι βολικό όχι μόνο για εσάς όταν εργάζεστε με τον κώδικα, αλλά και για άλλα άτομα που ενδέχεται να χρησιμοποιήσουν τον κωδικό σας στο μέλλον. Θα είναι πιο βολικό γι 'αυτούς να διαβάσουν τον κώδικα εάν έχει μορφοποιηθεί σωστά και οι μεταβλητές ονομάζονται με νόημα. Και δεν πρέπει να αγνοείτε το μήκος του ονόματος - το όνομα πρέπει να είναι κατανοητό. Χωρίς φανατισμό, φυσικά :-). Αν και το VBA μας επιτρέπει να δημιουργήσουμε μεταβλητές μήκους έως 254 χαρακτήρες, είναι εξίσου άβολο να διαβάζουμε μια τέτοια μεταβλητή όπως με έναν χαρακτήρα. Αλλά εδώ όλα εξαρτώνται από τις προτιμήσεις και τη φαντασία σας.
Μικρή προσθήκη:Είναι καλύτερα να συνηθίσουμε να ονομάζουμε μεταβλητές στο λατινικό αλφάβητο (δηλαδή αγγλικό αλφάβητο), γιατί Για το VBA, τα αγγλικά είναι η "μητρική" γλώσσα και είναι καλύτερα να τα χρησιμοποιείτε.

Ένα μικρό παράδειγμα χρήσης μεταβλητών σε κώδικες:

Sub main() «Δηλώνουμε μεταβλητές με την εκχώρηση συγκεκριμένων τύπων"Ως συμβολοσειρά - κείμενο «Το As Long είναι ακέραιος Dim sAddress As String , sNewAddress As String , sShName as String Dim lRow As Long Dim rRange as Range "εκχωρήθηκε κελί/εύρος τύπου μεταβλητής "αντίστοιχε στη μεταβλητή rRange μια αναφορά στο τρέχον επιλεγμένο κελίΟρισμός rRange = Επιλογή "αλλάξτε την επιλογή - επιλέξτε το κελί D9Εύρος ("D9"). Επιλέξτε "εκχωρήστε στη μεταβλητή τη διεύθυνση των επιλεγμένων κελιών sAddress = Επιλογή.Διεύθυνση "εκχωρήστε στη μεταβλητή lRow την τιμή της πρώτης σειράς της επιλεγμένης περιοχής lRow = Επιλογή.Σειρά "εμφάνιση μηνύματος MsgBox "Διεύθυνση της επιλεγμένης περιοχής: "& sAddress, vbInformation, "www.site" MsgBox "Αριθμός πρώτης γραμμής: "& lRow, vbInformation, "www.site" "αντιστοιχίστε σε μια άλλη μεταβλητή την τιμή της διεύθυνσης του κελιού A1 sNewAddress = "A1" "επιλέξτε το κελί που καθορίζεται από τη μεταβλητή sNewAddresΕύρος(sNewAddress). Επιλέξτε MsgBox "Διεύθυνση της επιλεγμένης περιοχής: "& sNewAddress, vbInformation, "www.site" "επιλέξτε το αρχικά επιλεγμένο κελί χρησιμοποιώντας τη μεταβλητή rRange rRange.Επιλέξτε MsgBox "Διεύθυνση της επιλεγμένης περιοχής: "& rRange.Address, vbInformation, "www.site" "ορίστε την τιμή της μεταβλητής sShName = "excel-vba" "μετονομάστε το ενεργό φύλλο στο όνομα που καθορίζεται από τη μεταβλητή ActiveSheet.Name = sShName End Sub

Sub main() "δηλώνει τις μεταβλητές με την εκχώρηση συγκεκριμένων τύπων "Ως συμβολοσειρά - κείμενο "As Long - ακέραιος αριθμός Dim sAddress As String, sNewAddress As String, sShName As String Dim lRow As Long Dim rRange as Range" εκχωρήθηκε ο τύπος κελιού/εύρος στη μεταβλητή " εκχωρήθηκε η μεταβλητή rRange ένας σύνδεσμος στο τρέχον επιλεγμένο κελί Σετ rRange = Επιλογή "αλλαγή της επιλογής - επιλέξτε το κελί D9 Range("D9"). Επιλέξτε "εκχώρηση στη μεταβλητή τη διεύθυνση των επιλεγμένων κελιών sAddress = Selection.Address "εκχωρήστε στη μεταβλητή lRow την τιμή της πρώτης σειράς της επιλεγμένης περιοχής lRow = Επιλογή .Σειρά "εμφάνιση του μηνύματος MsgBox "Address of the selected area: " & sAddress, vbInformation, "www..site" "εκχωρήστε την τιμή του διεύθυνση του κελιού A1 σε άλλη μεταβλητή sNewAddress = "A1" "επιλέξτε το κελί που καθορίζεται από τη μεταβλητή sNewAddres Range(sNewAddress). Επιλέξτε MsgBox "Address of the selected area: " & sNewAddress, vbInformation, "www.site" "επιλέξτε αρχικά το επιλεγμένο κελί χρησιμοποιώντας τη μεταβλητή rRange rRange. Επιλέξτε MsgBox "Address of the selected area: " & rRange.Address, vbInformation, "www.site" "set the value variable sShName = "excel-vba" "rename the active sheet to the name καθορίζεται από τη μεταβλητή ActiveSheet.Name = sShName End Sub

Το άρθρο θα σας βοηθήσει να δείτε βήμα προς βήμα την εκτέλεση αυτού του κώδικα: Εντοπισμός σφαλμάτων και εντοπισμός σφαλμάτων κώδικα VBA
Σπουδαίος!Εάν σε μια μεταβλητή έχει εκχωρηθεί μια αναφορά κελιού (Set var = Range("A1")), τότε η πρόσβαση στη μεταβλητή είναι πανομοιότυπη με την πρόσβαση στο ίδιο το κελί A1 όποτε συμβαίνει αυτό. Αυτή η εκχώρηση δεν θυμάται τις ιδιότητες του κελιού πριν ή μετά - η μεταβλητή αποθηκεύει μια αναφορά σε ένα συγκεκριμένο κελί και η πρόσβαση είναι διαθέσιμη αποκλειστικά στις ιδιότητες του κελιού την τρέχουσα στιγμή. Για να θυμάστε την τιμή, το χρώμα ενός κελιού ή ακόμα και τη διεύθυνση (καθώς και άλλες ιδιότητες) πριν αλλάξετε το κελί και να τα εφαρμόσετε ακόμα και μετά την αλλαγή/μετακίνηση του ίδιου του κελιού, πρέπει να θυμάστε ακριβώς τις ιδιότητες του κελιού σε μεταβλητές:

Sub main() Dim val, l_InteriorColor As Long, l_FontColor As Long Dim rRange As Range "εκχωρήθηκε κελί/εύρος τύπου μεταβλητής "Αποθέτησε στη μεταβλητή rRange μια αναφορά στο ενεργό κελίΟρισμός rRange = ActiveCell "θυμηθείτε τις ιδιότητες του κυττάρου val = rRange.Value "value l_InteriorColor = rRange.Interior.Color"цвет заливки l_FontColor = rRange.Font.Color "цвет шрифта !} "αντιγράψτε ένα άλλο κελί και επικολλήστε το στη θέση του ενεργού ActiveSheet.Range("D1" ).Αντιγραφή rRange "ελέγξτε ότι το rRange έχει τώρα εντελώς διαφορετικές ιδιότητες - όπως το D1 "rΧρώμα γεμίσματος εύρους:" "Font color rrange:"& rRange.Font.Color & vbNewLine, vbInformation, "www.site" "εκχωρήστε ιδιότητες από αυτές που είναι αποθηκευμένες σε μεταβλητές rRange.Value = val "value rRange.Interior.Color = l_InteriorColor "fill color rRange.Font.Color = l_FontColor "χρώμα γραμματοσειράς "ελέγξτε ότι επιστρέφονται οι παράμετροι rRange πριν από την αντιγραφή MsgBox "rRange Value: " & rRange.Value & vbNewLine & _ "rΧρώμα γεμίσματος εύρους:"& rRange.Interior.Color & vbNewLine & _ "Font color rrange:"& rRange.Font.Color & vbNewLine, vbInformation, "www.site" End Sub

Sub main() Dim val, l_InteriorColor As Long, l_FontColor As Long Dim rRange As Range "εκχώρησε έναν τύπο κελιού/εύρους στη μεταβλητή" εκχώρησε μια αναφορά στο ενεργό κελί στη μεταβλητή rRange Set rRange = ActiveCell "θυμηθείτε την τιμή των ιδιοτήτων του κελιού = rRange.Value "(!LANG :l_InteriorΤιμή χρώματος = rRange.Interior.Color"цвет заливки l_FontColor = rRange.Font.Color "цвет шрифта "копируем другую ячейку и вставляем на место активной ActiveSheet.Range("D1").Copy rRange "проверяем, что rRange теперь имеет совершенно другие свойста - как у D1 MsgBox "Значение rRange: " & rRange.Value & vbNewLine & _ "Цвет заливки rRange: " & rRange.Interior.Color & vbNewLine & _ "Цвет шрифта rRange: " & rRange.Font.Color & vbNewLine, vbInformation, "www..Value = val "значение rRange.Interior.Color = l_InteriorColor "цвет заливки rRange.Font.Color = l_FontColor "цвет шрифта "проверяем, что rRange возвращены параметры до копирования MsgBox "Значение rRange: " & rRange.Value & vbNewLine & _ "Цвет заливки rRange: " & rRange.Interior.Color & vbNewLine & _ "Цвет шрифта rRange: " & rRange.Font.Color & vbNewLine, vbInformation, "www.сайт" End Sub!}

Αυτό ισχύει και για όλα τα άλλα αντικείμενα. Εκείνοι. αυτές οι μεταβλητές των οποίων οι τιμές εκχωρούνται μέσω της δήλωσης Set.

Σταθερές
Υπάρχει επίσης ένας άλλος τύπος "μεταβλητών" - σταθερές. Αυτή είναι η ίδια μεταβλητή, μόνο που (όπως υποδηλώνει το όνομά της) δεν μπορεί να αλλάξει κατά την εκτέλεση του κώδικα, επειδή είναι μια σταθερή τιμή και η τιμή της εκχωρείται μόνο μία φορά - πριν την εκτέλεση του κώδικα.

Const sMyConst As String = "Το όνομα του προγράμματος μου"

Const sMyConst As String = "Το όνομα του προγράμματος μου"

Οι σταθερές μπορούν να αντιστοιχιστούν στους ίδιους τύπους δεδομένων με τις μεταβλητές. Για πρόσθετο εύρος/ζωή σταθερών, χρησιμοποιείται μόνο Δημόσιο. Εάν το εύρος δεν έχει καθοριστεί, τότε η σταθερά θα είναι προσβάσιμη μόνο από τη μονάδα στην οποία έχει δηλωθεί. Εδώ θα ήθελα να επιστήσω την προσοχή σας στο γεγονός ότι το Dim δεν χρησιμοποιείται πλέον, γιατί Το Dim είναι ένα αναγνωριστικό μόνο για μεταβλητές. Μερικές σημαντικές διαφορές μεταξύ της δήλωσης σταθερών και της δήλωσης μεταβλητών:

  • Όταν δηλώνετε μια σταθερά, πρέπει να αναφέρετε ρητά ότι είναι σταθερά χρησιμοποιώντας τη λέξη-κλειδί Const
  • αμέσως τη στιγμή της δήλωσης, πρέπει να αντιστοιχίσετε την τιμή στη σταθερά: = "Το όνομα του προγράμματός μου"

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

Sub TestConst() Const sMyConst As String = "Το όνομα του προγράμματός μου" MsgBox sMyConst "εμφάνιση μηνύματος με το όνομα προγράμματος End Sub Sub TestConst2() MsgBox sMyConst "θα προκαλέσει ένα σφάλμα Η μεταβλητή δεν ορίζεται Τέλος υπο

Για να χρησιμοποιήσετε μία σταθερά σε όλες τις διαδικασίες ενός έργου (βιβλίου), πρέπει να την δηλώσετε ως Δημόσιο.

mob_info