VBA ನಲ್ಲಿ ಅಸ್ಥಿರ ಮತ್ತು ಸ್ಥಿರಾಂಕಗಳು

VBA ನಲ್ಲಿ, ಯಾವುದೇ ಇತರ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಂತೆ, ಯಾವುದೇ ಮೌಲ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಅಸ್ಥಿರ ಮತ್ತು ಸ್ಥಿರಾಂಕಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಹೆಸರೇ ಸೂಚಿಸುವಂತೆ, ಅಸ್ಥಿರಗಳು ಬದಲಾಗಬಹುದು, ಆದರೆ ಸ್ಥಿರಾಂಕಗಳು ಸ್ಥಿರ ಮೌಲ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತವೆ.

ಉದಾಹರಣೆಗೆ, ಸ್ಥಿರ Pi 3,14159265 ಮೌಲ್ಯವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ… ಪ್ರೋಗ್ರಾಂನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಸಮಯದಲ್ಲಿ "ಪೈ" ಸಂಖ್ಯೆಯು ಬದಲಾಗುವುದಿಲ್ಲ, ಆದರೆ ಅಂತಹ ಮೌಲ್ಯವನ್ನು ಸ್ಥಿರವಾಗಿ ಸಂಗ್ರಹಿಸಲು ಇದು ಇನ್ನೂ ಹೆಚ್ಚು ಅನುಕೂಲಕರವಾಗಿದೆ.

ಅದೇ ಸಮಯದಲ್ಲಿ, ನಾವು ವೇರಿಯಬಲ್ ಅನ್ನು ಬಳಸಬಹುದು sVAT_ರೇಟ್ ಖರೀದಿಸಿದ ಸರಕುಗಳ ಮೇಲೆ ವ್ಯಾಟ್ ದರವನ್ನು ಸಂಗ್ರಹಿಸಲು. ವೇರಿಯಬಲ್ ಮೌಲ್ಯ sVAT_ರೇಟ್ ಖರೀದಿಸಿದ ಉತ್ಪನ್ನವನ್ನು ಅವಲಂಬಿಸಿ ಬದಲಾಗಬಹುದು.

ಡೇಟಾ ಪ್ರಕಾರಗಳು

ಎಲ್ಲಾ ವೇರಿಯೇಬಲ್‌ಗಳು ಮತ್ತು ಸ್ಥಿರಾಂಕಗಳು ನಿರ್ದಿಷ್ಟ ಡೇಟಾ ಪ್ರಕಾರವಾಗಿದೆ. ಕೆಳಗಿನ ಕೋಷ್ಟಕವು VBA ನಲ್ಲಿ ಬಳಸಲಾದ ಡೇಟಾ ಪ್ರಕಾರಗಳನ್ನು ವಿವರಣೆ ಮತ್ತು ಸಂಭವನೀಯ ಮೌಲ್ಯಗಳ ಶ್ರೇಣಿಯೊಂದಿಗೆ ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ:

ಡೇಟಾ ಪ್ರಕಾರ ಗಾತ್ರವಿವರಣೆಮೌಲ್ಯಗಳ ಶ್ರೇಣಿ
ಬೈಟ್1 ಬೈಟ್‌ಗಳುಧನಾತ್ಮಕ ಪೂರ್ಣಾಂಕಗಳು; ಬೈನರಿ ಡೇಟಾಕ್ಕಾಗಿ ಹೆಚ್ಚಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ0 ನಿಂದ 255 ಗೆ
ಬೂಲಿಯನ್2 ಬೈಟ್‌ಗಳುಸರಿಯಾಗಿರಬಹುದು ಅಥವಾ ಸುಳ್ಳಾಗಿರಬಹುದುಸರಿ ಅಥವಾ ತಪ್ಪು
ಪೂರ್ಣಾಂಕ2 ಬೈಟ್‌ಗಳುಸಂಪೂರ್ಣ ಸಂಖ್ಯೆಗಳು (ಭಾಗಶಃ ಭಾಗವಿಲ್ಲ)-32 ರಿಂದ +768 ರವರೆಗೆ
ಲಾಂಗ್4 ಬೈಟ್‌ಗಳುದೊಡ್ಡ ಪೂರ್ಣಾಂಕಗಳು (ಆಂಶಿಕ ಭಾಗವಿಲ್ಲ)от -2 147 483 648 до +2 147 483 647
ಏಕ4 ಬೈಟ್‌ಗಳುಏಕ ನಿಖರವಾದ ಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಸಂಖ್ಯೆ-3.4e38 ರಿಂದ +3.4e38 ವರೆಗೆ
ಡಬಲ್8 ಬೈಟ್‌ಗಳುಡಬಲ್ ನಿಖರವಾದ ಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಸಂಖ್ಯೆ-1.8e308 ರಿಂದ +1.8e308 ವರೆಗೆ
ಕರೆನ್ಸಿ8 ಬೈಟ್‌ಗಳುಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಸಂಖ್ಯೆ, ಸ್ಥಿರ ಸಂಖ್ಯೆಯ ದಶಮಾಂಶ ಸ್ಥಾನಗಳೊಂದಿಗೆот -922 337 203 685 477.5808 до +922 337 203 685 477.5807
ದಿನಾಂಕ8 ಬೈಟ್‌ಗಳುದಿನಾಂಕ ಮತ್ತು ಸಮಯ - ದಿನಾಂಕದ ಪ್ರಕಾರದ ಡೇಟಾವನ್ನು ಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಸಂಖ್ಯೆಯಿಂದ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ. ಈ ಸಂಖ್ಯೆಯ ಪೂರ್ಣಾಂಕ ಭಾಗವು ದಿನಾಂಕವನ್ನು ವ್ಯಕ್ತಪಡಿಸುತ್ತದೆ ಮತ್ತು ಭಾಗಶಃ ಭಾಗವು ಸಮಯವನ್ನು ವ್ಯಕ್ತಪಡಿಸುತ್ತದೆ.ಜನವರಿ 1, 100 ರಿಂದ ಡಿಸೆಂಬರ್ 31, 9999 ರವರೆಗೆ
ವಸ್ತು4 ಬೈಟ್‌ಗಳುವಸ್ತುವಿನ ಉಲ್ಲೇಖಯಾವುದೇ ವಸ್ತು ಉಲ್ಲೇಖ
ಸ್ಟ್ರಿಂಗ್ಬದಲಾಗುತ್ತಿದೆಅಕ್ಷರ ಸೆಟ್. ಸ್ಟ್ರಿಂಗ್ ಪ್ರಕಾರವು ಸ್ಥಿರ ಅಥವಾ ವೇರಿಯಬಲ್ ಉದ್ದವಾಗಿರಬಹುದು. ವೇರಿಯಬಲ್ ಉದ್ದದೊಂದಿಗೆ ಹೆಚ್ಚು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆಸ್ಥಿರ ಉದ್ದ - ಸುಮಾರು 65 ಅಕ್ಷರಗಳವರೆಗೆ. ವೇರಿಯಬಲ್ ಉದ್ದ - ಸುಮಾರು 500 ಬಿಲಿಯನ್ ಅಕ್ಷರಗಳವರೆಗೆ
ಭಿನ್ನಬದಲಾಗುತ್ತಿದೆದಿನಾಂಕ, ಫ್ಲೋಟ್ ಅಥವಾ ಅಕ್ಷರ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಒಳಗೊಂಡಿರಬಹುದು. ಯಾವ ರೀತಿಯ ಡೇಟಾವನ್ನು ನಮೂದಿಸಲಾಗುವುದು ಎಂದು ಮುಂಚಿತವಾಗಿ ತಿಳಿದಿಲ್ಲದ ಸಂದರ್ಭಗಳಲ್ಲಿ ಈ ಪ್ರಕಾರವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.ಸಂಖ್ಯೆ - ಡಬಲ್, ಸ್ಟ್ರಿಂಗ್ - ಸ್ಟ್ರಿಂಗ್

ನಿಸ್ಸಂಶಯವಾಗಿ, ಮೇಲಿನ ಕೋಷ್ಟಕವನ್ನು ಬಳಸಿ ಮತ್ತು ಸರಿಯಾದ ಡೇಟಾ ಪ್ರಕಾರವನ್ನು ಆರಿಸಿ, ನೀವು ಮೆಮೊರಿಯನ್ನು ಹೆಚ್ಚು ಆರ್ಥಿಕವಾಗಿ ಬಳಸಬಹುದು (ಉದಾಹರಣೆಗೆ, ಡೇಟಾ ಪ್ರಕಾರವನ್ನು ಆರಿಸಿ ಪೂರ್ಣಾಂಕ ಬದಲಿಗೆ ಲಾಂಗ್ or ಏಕ ಬದಲಿಗೆ ಡಬಲ್) ಆದಾಗ್ಯೂ, ಹೆಚ್ಚು ಕಾಂಪ್ಯಾಕ್ಟ್ ಡೇಟಾ ಪ್ರಕಾರಗಳನ್ನು ಬಳಸುವಾಗ, ನಿಮ್ಮ ಕೋಡ್ ಅವುಗಳೊಳಗೆ ಅಸಮಾನವಾಗಿ ದೊಡ್ಡ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಸಲು ಪ್ರಯತ್ನಿಸುವುದಿಲ್ಲ ಎಂದು ನೀವು ಜಾಗರೂಕರಾಗಿರಬೇಕು.

ವೇರಿಯೇಬಲ್‌ಗಳು ಮತ್ತು ಸ್ಥಿರಾಂಕಗಳನ್ನು ಘೋಷಿಸುವುದು

ಅನುವಾದಕರ ಟಿಪ್ಪಣಿ: VBA ನಲ್ಲಿನ ಅಸ್ಥಿರಗಳ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಾ, ಇನ್ನೊಂದು ಪ್ರಮುಖ ಅಂಶವನ್ನು ನಮೂದಿಸುವುದು ಯೋಗ್ಯವಾಗಿದೆ. ನಾವು ವೇರಿಯೇಬಲ್ ಅನ್ನು ಘೋಷಿಸಿದರೆ ಆದರೆ ಅದಕ್ಕೆ ಯಾವುದೇ ಮೌಲ್ಯವನ್ನು ನಿಯೋಜಿಸದಿದ್ದರೆ, ಅದನ್ನು ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯದೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ:

• ಪಠ್ಯ ತಂತಿಗಳನ್ನು ಖಾಲಿ ತಂತಿಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ;

• ಸಂಖ್ಯೆಗಳು - ಮೌಲ್ಯ 0;

• ಟೈಪ್ ವೇರಿಯಬಲ್ಸ್ ಬೂಲಿಯನ್ - ತಪ್ಪು;

• ದಿನಾಂಕಗಳು – ಡಿಸೆಂಬರ್ 30, 1899.

ವೇರಿಯೇಬಲ್ ಅಥವಾ ಸ್ಥಿರವನ್ನು ಬಳಸುವ ಮೊದಲು, ಅದನ್ನು ಘೋಷಿಸಬೇಕು. ಇದನ್ನು ಮಾಡಲು, ಮ್ಯಾಕ್ರೋಗೆ ಕೋಡ್‌ನ ಕೆಳಗಿನ ಸರಳ ಸಾಲನ್ನು ಸೇರಿಸಿ:

Dim Имя_Переменной As Тип_Данных

ಮೇಲಿನ ಕೋಡ್ ಸಾಲಿನಲ್ಲಿ ವೇರಿಯಬಲ್_ಹೆಸರು ಕೋಡ್‌ನಲ್ಲಿ ಬಳಸಲಾಗುವ ವೇರಿಯಬಲ್‌ನ ಹೆಸರು, ಮತ್ತು ಡೇಟಾ_ಪ್ರಕಾರ ಈ ಲೇಖನದಲ್ಲಿ ಸ್ವಲ್ಪ ಹಿಂದೆ ನೀಡಲಾದ ಟೇಬಲ್‌ನಿಂದ ಡೇಟಾ ಪ್ರಕಾರಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಉದಾಹರಣೆಗೆ:

ಮಂದ sVAT_ರೇಟ್ ಏಕ ಮಂದ ಮತ್ತು ಪೂರ್ಣಾಂಕದಂತೆ

ಸ್ಥಿರಾಂಕಗಳನ್ನು ಅದೇ ರೀತಿ ಘೋಷಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಸ್ಥಿರಾಂಕಗಳನ್ನು ಘೋಷಿಸುವಾಗ, ಅವುಗಳ ಮೌಲ್ಯವನ್ನು ತಕ್ಷಣವೇ ಸೂಚಿಸಬೇಕು. ಉದಾಹರಣೆಗೆ, ಈ ರೀತಿ:

ಕಾನ್ಸ್ಟ್ ಐಮ್ಯಾಕ್ಸ್ ಕೌಂಟ್ = 5000 ಕಾನ್ಸ್ಟ್ ಐಮ್ಯಾಕ್ಸ್ ಸ್ಕೋರ್ = 100

ಎಕ್ಸೆಲ್‌ನಲ್ಲಿ ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಘೋಷಿಸುವುದು ಅನಿವಾರ್ಯವಲ್ಲ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಎಕ್ಸೆಲ್‌ನಲ್ಲಿ ನಮೂದಿಸಿದ ಆದರೆ ಡಿಕ್ಲೇರ್ ಮಾಡದ ಎಲ್ಲಾ ವೇರಿಯಬಲ್‌ಗಳು ಪ್ರಕಾರವನ್ನು ಹೊಂದಿರುತ್ತವೆ ಭಿನ್ನ ಮತ್ತು ಸಂಖ್ಯಾ ಮತ್ತು ಪಠ್ಯ ಮೌಲ್ಯ ಎರಡನ್ನೂ ಸ್ವೀಕರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

ಹೀಗಾಗಿ, ಪ್ರೋಗ್ರಾಮರ್ ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಹೊಸ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬಳಸಬಹುದು (ಅದನ್ನು ಘೋಷಿಸದಿದ್ದರೂ ಸಹ), ಮತ್ತು ಎಕ್ಸೆಲ್ ಅದನ್ನು ಪ್ರಕಾರದ ವೇರಿಯಬಲ್ ಎಂದು ಪರಿಗಣಿಸುತ್ತದೆ ಭಿನ್ನ. ಆದಾಗ್ಯೂ, ಇದನ್ನು ಏಕೆ ಮಾಡಬಾರದು ಎಂಬುದಕ್ಕೆ ಹಲವಾರು ಕಾರಣಗಳಿವೆ:

  1. ಮೆಮೊರಿ ಬಳಕೆ ಮತ್ತು ಕಂಪ್ಯೂಟೇಶನಲ್ ವೇಗ. ಡೇಟಾ ಪ್ರಕಾರದ ಸೂಚನೆಯೊಂದಿಗೆ ನೀವು ವೇರಿಯಬಲ್ ಅನ್ನು ಘೋಷಿಸದಿದ್ದರೆ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಅದನ್ನು ಪ್ರಕಾರಕ್ಕೆ ಹೊಂದಿಸಲಾಗುತ್ತದೆ ಭಿನ್ನ. ಈ ಡೇಟಾ ಪ್ರಕಾರವು ಇತರ ಡೇಟಾ ಪ್ರಕಾರಗಳಿಗಿಂತ ಹೆಚ್ಚು ಮೆಮೊರಿಯನ್ನು ಬಳಸುತ್ತದೆ. ಪ್ರತಿ ವೇರಿಯಬಲ್‌ಗೆ ಕೆಲವು ಹೆಚ್ಚುವರಿ ಬೈಟ್‌ಗಳು ಹೆಚ್ಚು ಧ್ವನಿಸುವುದಿಲ್ಲ, ಆದರೆ ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಪ್ರೋಗ್ರಾಂಗಳು ಸಾವಿರಾರು ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಹೊಂದಬಹುದು (ವಿಶೇಷವಾಗಿ ಅರೇಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ). ಆದ್ದರಿಂದ, ವೇರಿಯೇಬಲ್‌ಗಳಿಂದ ಹೆಚ್ಚುವರಿ ಮೆಮೊರಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಭಿನ್ನ, ಪ್ರಕಾರದ ಅಸ್ಥಿರಗಳಿಗೆ ಹೋಲಿಸಿದರೆ ಪೂರ್ಣಾಂಕ or ಏಕ, ಗಮನಾರ್ಹ ಮೊತ್ತದವರೆಗೆ ಸೇರಿಸಬಹುದು. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಪ್ರಕಾರದ ಅಸ್ಥಿರಗಳೊಂದಿಗೆ ಕಾರ್ಯಾಚರಣೆಗಳು ಭಿನ್ನ ಕ್ರಮವಾಗಿ ಇತರ ಪ್ರಕಾರಗಳ ವೇರಿಯಬಲ್‌ಗಳಿಗಿಂತ ಹೆಚ್ಚು ನಿಧಾನವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ, ಹೆಚ್ಚುವರಿ ಸಾವಿರ ಅಸ್ಥಿರ ಪ್ರಕಾರಗಳು ಭಿನ್ನ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಗಣನೀಯವಾಗಿ ನಿಧಾನಗೊಳಿಸಬಹುದು.
  2. ವೇರಿಯಬಲ್ ಹೆಸರುಗಳಲ್ಲಿನ ಮುದ್ರಣದೋಷಗಳ ತಡೆಗಟ್ಟುವಿಕೆ. ಎಲ್ಲಾ ಅಸ್ಥಿರಗಳನ್ನು ಘೋಷಿಸಿದರೆ, ನಂತರ VBA ಹೇಳಿಕೆಯನ್ನು ಬಳಸಬಹುದು - ಆಯ್ಕೆ ಸ್ಪಷ್ಟ (ನಾವು ಅದರ ಬಗ್ಗೆ ನಂತರ ಮಾತನಾಡುತ್ತೇವೆ) ಎಲ್ಲಾ ಅಘೋಷಿತ ಅಸ್ಥಿರಗಳನ್ನು ಗುರುತಿಸಲು. ತಪ್ಪಾಗಿ ಬರೆಯಲಾದ ವೇರಿಯಬಲ್ ಹೆಸರಿನ ಪರಿಣಾಮವಾಗಿ ಪ್ರೋಗ್ರಾಂನಲ್ಲಿ ದೋಷದ ನೋಟವನ್ನು ಇದು ನಿವಾರಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಹೆಸರಿನ ವೇರಿಯಬಲ್ ಅನ್ನು ಬಳಸುವುದು sVAT_ರೇಟ್, ನೀವು ಮುದ್ರಣದೋಷವನ್ನು ಮಾಡಬಹುದು ಮತ್ತು ಈ ವೇರಿಯೇಬಲ್‌ಗೆ ಮೌಲ್ಯವನ್ನು ನಿಯೋಜಿಸಿ, ಬರೆಯಿರಿ: "VATRate = 0,175". ಇಂದಿನಿಂದ, ವೇರಿಯಬಲ್ ಎಂದು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ sVAT_ರೇಟ್ 0,175 ಮೌಲ್ಯವನ್ನು ಹೊಂದಿರಬೇಕು - ಆದರೆ ಖಂಡಿತವಾಗಿಯೂ ಅದು ಇರುವುದಿಲ್ಲ. ಎಲ್ಲಾ ಬಳಸಿದ ವೇರಿಯೇಬಲ್‌ಗಳ ಕಡ್ಡಾಯ ಘೋಷಣೆಯ ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ, VBA ಕಂಪೈಲರ್ ತಕ್ಷಣವೇ ದೋಷವನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಅದು ವೇರಿಯಬಲ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯುವುದಿಲ್ಲ ವ್ಯಾಟ್ರೇಟ್ ಘೋಷಿಸಿದವರಲ್ಲಿ.
  3. ವೇರಿಯಬಲ್‌ನ ಡಿಕ್ಲೇರ್ಡ್ ಪ್ರಕಾರಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗದ ಮೌಲ್ಯಗಳನ್ನು ಹೈಲೈಟ್ ಮಾಡುವುದು. ನೀವು ಒಂದು ನಿರ್ದಿಷ್ಟ ಪ್ರಕಾರದ ವೇರಿಯಬಲ್ ಅನ್ನು ಘೋಷಿಸಿದರೆ ಮತ್ತು ಅದಕ್ಕೆ ಬೇರೆ ಪ್ರಕಾರದ ಡೇಟಾವನ್ನು ನಿಯೋಜಿಸಲು ಪ್ರಯತ್ನಿಸಿದರೆ, ನೀವು ದೋಷವನ್ನು ಪಡೆಯುತ್ತೀರಿ, ಅದನ್ನು ಸರಿಪಡಿಸದೆ ಬಿಟ್ಟರೆ, ಪ್ರೋಗ್ರಾಂ ಕ್ರ್ಯಾಶ್ ಆಗಬಹುದು. ಮೊದಲ ನೋಟದಲ್ಲಿ, ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಘೋಷಿಸದಿರಲು ಇದು ಉತ್ತಮ ಕಾರಣವೆಂದು ತೋರುತ್ತದೆ, ಆದರೆ ವಾಸ್ತವವಾಗಿ, ವೇರಿಯಬಲ್‌ಗಳಲ್ಲಿ ಒಂದನ್ನು ಸ್ವೀಕರಿಸಬೇಕಾದ ತಪ್ಪು ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಲಾಗಿದೆ ಎಂದು ಅದು ಮೊದಲು ತಿರುಗುತ್ತದೆ - ತುಂಬಾ ಉತ್ತಮವಾಗಿದೆ! ಇಲ್ಲದಿದ್ದರೆ, ಪ್ರೋಗ್ರಾಂ ಚಾಲನೆಯಲ್ಲಿ ಮುಂದುವರಿದರೆ, ಫಲಿತಾಂಶಗಳು ತಪ್ಪಾಗಿರಬಹುದು ಮತ್ತು ಅನಿರೀಕ್ಷಿತವಾಗಬಹುದು ಮತ್ತು ದೋಷಗಳ ಕಾರಣವನ್ನು ಕಂಡುಹಿಡಿಯುವುದು ಹೆಚ್ಚು ಕಷ್ಟಕರವಾಗಿರುತ್ತದೆ. ಮ್ಯಾಕ್ರೋವನ್ನು "ಯಶಸ್ವಿಯಾಗಿ" ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಾಧ್ಯತೆಯಿದೆ. ಪರಿಣಾಮವಾಗಿ, ದೋಷವು ಗಮನಕ್ಕೆ ಬರುವುದಿಲ್ಲ ಮತ್ತು ತಪ್ಪಾದ ಡೇಟಾದೊಂದಿಗೆ ಕೆಲಸ ಮುಂದುವರಿಯುತ್ತದೆ!

ಈ ನಿಟ್ಟಿನಲ್ಲಿ, ತಪ್ಪಾದ ಡೇಟಾ ಪ್ರಕಾರವನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಮತ್ತು ಕೋಡ್‌ನಲ್ಲಿ ಅಂತಹ ದೋಷಗಳನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಬೇಗ ಸರಿಪಡಿಸಲು ಅಪೇಕ್ಷಣೀಯವಾಗಿದೆ. ಈ ಕಾರಣಗಳಿಗಾಗಿ, VBA ಮ್ಯಾಕ್ರೋವನ್ನು ಬರೆಯುವಾಗ ನೀವು ಎಲ್ಲಾ ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಘೋಷಿಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ.

ಆಯ್ಕೆ ಸ್ಪಷ್ಟ

ಆಪರೇಟರ್ ಆಯ್ಕೆ ಸ್ಪಷ್ಟ VBA ಕೋಡ್‌ನಲ್ಲಿ ಬಳಸಲಾಗುವ ಎಲ್ಲಾ ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಘೋಷಿಸಲು ಕಾರಣವಾಗುತ್ತದೆ ಮತ್ತು ಸಂಕಲನದ ಸಮಯದಲ್ಲಿ (ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಪ್ರಾರಂಭವಾಗುವ ಮೊದಲು) ಎಲ್ಲಾ ಅಘೋಷಿತ ಅಸ್ಥಿರಗಳನ್ನು ದೋಷಗಳಾಗಿ ಫ್ಲ್ಯಾಗ್ ಮಾಡುತ್ತದೆ. ಈ ಆಪರೇಟರ್ ಅನ್ನು ಅನ್ವಯಿಸುವುದು ಕಷ್ಟವೇನಲ್ಲ - VBA ಫೈಲ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಈ ಸಾಲನ್ನು ಬರೆಯಿರಿ:

Option Explicit

ನೀವು ಯಾವಾಗಲೂ ಸೇರಿಸಲು ಬಯಸಿದರೆ ಆಯ್ಕೆ ಸ್ಪಷ್ಟ ರಚಿಸಲಾದ ಪ್ರತಿ ಹೊಸ VBA ಮಾಡ್ಯೂಲ್‌ನ ಮೇಲ್ಭಾಗಕ್ಕೆ, ಇದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮಾಡಬಹುದು. ಇದನ್ನು ಮಾಡಲು, ನೀವು ಆಯ್ಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬೇಕು ವೇರಿಯಬಲ್ ಡಿಕ್ಲರೇಶನ್ ಅಗತ್ಯವಿದೆ VBA ಸಂಪಾದಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ.

ಇದನ್ನು ಈ ರೀತಿ ಮಾಡಲಾಗುತ್ತದೆ:

  • ವಿಷುಯಲ್ ಬೇಸಿಕ್ ಎಡಿಟರ್ ಮೆನುವಿನಿಂದ, ಕ್ಲಿಕ್ ಮಾಡಿ ಉಪಕರಣಗಳು > ಆಯ್ಕೆಗಳು
  • ಕಾಣಿಸಿಕೊಳ್ಳುವ ಸಂವಾದದಲ್ಲಿ, ಟ್ಯಾಬ್ ತೆರೆಯಿರಿ ಸಂಪಾದಕ
  • ಪೆಟ್ಟಿಗೆಯನ್ನು ಪರಿಶೀಲಿಸಿ ವೇರಿಯಬಲ್ ಡಿಕ್ಲರೇಶನ್ ಅಗತ್ಯವಿದೆ ಮತ್ತು ಪತ್ರಿಕಾ OK

ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ, ಸ್ಟ್ರಿಂಗ್ ಆಯ್ಕೆ ಸ್ಪಷ್ಟ ರಚಿಸಲಾದ ಪ್ರತಿ ಹೊಸ ಮಾಡ್ಯೂಲ್‌ನ ಆರಂಭದಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೇರಿಸಲಾಗುತ್ತದೆ.

ಅಸ್ಥಿರ ಮತ್ತು ಸ್ಥಿರಾಂಕಗಳ ವ್ಯಾಪ್ತಿ

ಪ್ರತಿ ಡಿಕ್ಲೇರ್ಡ್ ವೇರಿಯೇಬಲ್ ಅಥವಾ ಸ್ಥಿರವು ತನ್ನದೇ ಆದ ಸೀಮಿತ ವ್ಯಾಪ್ತಿಯನ್ನು ಹೊಂದಿದೆ, ಅಂದರೆ, ಈ ವೇರಿಯಬಲ್ ಇರುವ ಪ್ರೋಗ್ರಾಂನ ಸೀಮಿತ ಭಾಗ. ವೇರಿಯೇಬಲ್ ಅಥವಾ ಸ್ಥಿರತೆಯ ಘೋಷಣೆಯನ್ನು ಎಲ್ಲಿ ಮಾಡಲಾಗಿದೆ ಎಂಬುದರ ಮೇಲೆ ವ್ಯಾಪ್ತಿಯು ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ವೇರಿಯಬಲ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ sVAT_ರೇಟ್, ಇದನ್ನು ಕಾರ್ಯದಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ ಒಟ್ಟು ವೆಚ್ಚ. ಕೆಳಗಿನ ಕೋಷ್ಟಕವು ವೇರಿಯಬಲ್ ಸ್ಕೋಪಿಂಗ್ಗಾಗಿ ಎರಡು ಆಯ್ಕೆಗಳನ್ನು ಚರ್ಚಿಸುತ್ತದೆ sVAT_ರೇಟ್ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿ ಎರಡು ವಿಭಿನ್ನ ಸ್ಥಾನಗಳಲ್ಲಿ ಘೋಷಿಸಲಾಗಿದೆ:

ಆಯ್ಕೆಯು ಸ್ಪಷ್ಟವಾದ ಮಂದ sVAT_Rate ಏಕ ಕಾರ್ಯವಾಗಿ ಒಟ್ಟು_ವೆಚ್ಚ() ದ್ವಿಗುಣವಾಗಿ ... ಕಾರ್ಯವನ್ನು ಕೊನೆಗೊಳಿಸಿ
ವೇರಿಯಬಲ್ ವೇಳೆ sVAT_ರೇಟ್ ಮಾಡ್ಯೂಲ್‌ನ ಪ್ರಾರಂಭದಲ್ಲಿಯೇ ಘೋಷಿಸಲಾಗಿದೆ, ನಂತರ ಈ ವೇರಿಯಬಲ್‌ನ ವ್ಯಾಪ್ತಿಯು ಸಂಪೂರ್ಣ ಮಾಡ್ಯೂಲ್ ಆಗಿರುತ್ತದೆ (ಅಂದರೆ ವೇರಿಯಬಲ್ sVAT_ರೇಟ್ ಈ ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಕಾರ್ಯವಿಧಾನಗಳಿಂದ ಗುರುತಿಸಲಾಗುತ್ತದೆ).

ಆದ್ದರಿಂದ, ಕಾರ್ಯದಲ್ಲಿದ್ದರೆ ಒಟ್ಟು ವೆಚ್ಚ ವೇರಿಯಬಲ್ sVAT_ರೇಟ್ ಕೆಲವು ಮೌಲ್ಯವನ್ನು ನಿಯೋಜಿಸಲಾಗುವುದು, ನಂತರ ಅದೇ ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ ಮುಂದಿನ ಕಾರ್ಯವು ವೇರಿಯಬಲ್ ಅನ್ನು ಬಳಸುತ್ತದೆ sVAT_ರೇಟ್ ಅದೇ ಅರ್ಥದೊಂದಿಗೆ.

ಆದಾಗ್ಯೂ, ಇನ್ನೊಂದು ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿರುವ ಕೆಲವು ಕಾರ್ಯವನ್ನು ಕರೆಯಲಾಗಿದ್ದರೆ, ಅದಕ್ಕೆ ವೇರಿಯೇಬಲ್ sVAT_ರೇಟ್ ಗೊತ್ತಾಗುವುದಿಲ್ಲ.

ಆಯ್ಕೆಯ ಸ್ಪಷ್ಟವಾದ ಕಾರ್ಯ ಒಟ್ಟು_ವೆಚ್ಚ() ಡಬಲ್ ಡಿಮ್ sVAT_Rate ಒಂದೇ ಆಗಿ ... ಕಾರ್ಯವನ್ನು ಕೊನೆಗೊಳಿಸಿ
ವೇರಿಯಬಲ್ ವೇಳೆ sVAT_ರೇಟ್ ಕಾರ್ಯಕ್ರಮದ ಆರಂಭದಲ್ಲಿ ಘೋಷಿಸಲಾಯಿತು ಒಟ್ಟು ವೆಚ್ಚ, ನಂತರ ಅದರ ವ್ಯಾಪ್ತಿಯು ಈ ಕಾರ್ಯಕ್ಕೆ ಮಾತ್ರ ಸೀಮಿತವಾಗಿರುತ್ತದೆ (ಅಂದರೆ ಕಾರ್ಯದೊಳಗೆ ಒಟ್ಟು ವೆಚ್ಚ, ನೀವು ವೇರಿಯಬಲ್ ಅನ್ನು ಬಳಸಬಹುದು sVAT_ರೇಟ್, ಆದರೆ ಹೊರಗೆ ಅಲ್ಲ).

ಬಳಸಲು ಪ್ರಯತ್ನಿಸುವಾಗ sVAT_ರೇಟ್ ಮತ್ತೊಂದು ಕಾರ್ಯವಿಧಾನದಲ್ಲಿ, VBA ಕಂಪೈಲರ್ ದೋಷವನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ ಏಕೆಂದರೆ ಈ ವೇರಿಯಬಲ್ ಅನ್ನು ಕಾರ್ಯದ ಹೊರಗೆ ಘೋಷಿಸಲಾಗಿಲ್ಲ ಒಟ್ಟು ವೆಚ್ಚ (ಆಪರೇಟರ್ ಅನ್ನು ಬಳಸಲಾಗಿದೆ ಎಂದು ಒದಗಿಸಲಾಗಿದೆ ಆಯ್ಕೆ ಸ್ಪಷ್ಟ).

ಮೇಲೆ ತೋರಿಸಿರುವ ಉದಾಹರಣೆಯಲ್ಲಿ, ವೇರಿಯಬಲ್ ಅನ್ನು ಮಾಡ್ಯೂಲ್ ಮಟ್ಟದಲ್ಲಿ ಕೀವರ್ಡ್‌ನೊಂದಿಗೆ ಘೋಷಿಸಲಾಗುತ್ತದೆ ಮಂದ. ಆದಾಗ್ಯೂ, ಡಿಕ್ಲೇರ್ಡ್ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಇತರ ಮಾಡ್ಯೂಲ್‌ಗಳಲ್ಲಿ ಬಳಸಬೇಕಾಗಬಹುದು. ಅಂತಹ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಕೀವರ್ಡ್ ಬದಲಿಗೆ ವೇರಿಯಬಲ್ ಅನ್ನು ಘೋಷಿಸಲು ಮಂದ ಕೀವರ್ಡ್ ಬಳಸಬೇಕು ಸಾರ್ವಜನಿಕ.

ಮೂಲಕ, ಕೀವರ್ಡ್ ಬದಲಿಗೆ ಮಾಡ್ಯೂಲ್ ಮಟ್ಟದಲ್ಲಿ ವೇರಿಯಬಲ್ ಅನ್ನು ಘೋಷಿಸಲು ಮಂದ ಕೀವರ್ಡ್ ಬಳಸಬಹುದು ಖಾಸಗಿ, ಈ ವೇರಿಯಬಲ್ ಅನ್ನು ಪ್ರಸ್ತುತ ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿ ಮಾತ್ರ ಬಳಸಲು ಉದ್ದೇಶಿಸಲಾಗಿದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ.

ಸ್ಥಿರಾಂಕಗಳನ್ನು ಘೋಷಿಸಲು ನೀವು ಕೀವರ್ಡ್‌ಗಳನ್ನು ಸಹ ಬಳಸಬಹುದು. ಸಾರ್ವಜನಿಕ и ಖಾಸಗಿ, ಆದರೆ ಕೀವರ್ಡ್ ಬದಲಿಗೆ ಅಲ್ಲ ಕಾನ್ಸ್, ಅದರ ಜೊತೆಗೆ.

ಕೆಳಗಿನ ಉದಾಹರಣೆಗಳು ಕೀವರ್ಡ್‌ಗಳ ಬಳಕೆಯನ್ನು ತೋರಿಸುತ್ತವೆ ಸಾರ್ವಜನಿಕ и ಖಾಸಗಿ ಅಸ್ಥಿರ ಮತ್ತು ಸ್ಥಿರಾಂಕಗಳಿಗೆ ಅನ್ವಯಿಸಲಾಗಿದೆ.

ಐಮ್ಯಾಕ್ಸ್_ಕೌಂಟ್ = 5000 ಏಕ ಪಬ್ಲಿಕ್ ಕಾನ್ಸ್ಟ್ ಆಗಿ ಸ್ಪಷ್ಟ ಸಾರ್ವಜನಿಕ sVAT_ರೇಟ್ ಆಯ್ಕೆ ...    
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ಕೀವರ್ಡ್ ಸಾರ್ವಜನಿಕ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಘೋಷಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ sVAT_ರೇಟ್ ಮತ್ತು ಸ್ಥಿರಾಂಕಗಳು iMax_count. ಈ ರೀತಿಯಲ್ಲಿ ಘೋಷಿಸಲಾದ ಅಂಶಗಳ ವ್ಯಾಪ್ತಿಯು ಸಂಪೂರ್ಣ ಪ್ರಸ್ತುತ ಯೋಜನೆಯಾಗಿದೆ.

ಇದರ ಅರ್ಥ ಅದು sVAT_ರೇಟ್ и iMax_count ಯಾವುದೇ ಪ್ರಾಜೆಕ್ಟ್ ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿ ಲಭ್ಯವಿರುತ್ತದೆ.

ಐಮ್ಯಾಕ್ಸ್_ಕೌಂಟ್ = 5000 ಏಕ ಖಾಸಗಿ ಕಾನ್ಸ್ಟ್ ಆಗಿ ಸ್ಪಷ್ಟ ಖಾಸಗಿ sVAT_ರೇಟ್ ಆಯ್ಕೆ ...    
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ವೇರಿಯಬಲ್ ಅನ್ನು ಘೋಷಿಸಲು sVAT_ರೇಟ್ ಮತ್ತು ಸ್ಥಿರಾಂಕಗಳು iMax_count ಕೀವರ್ಡ್ ಬಳಸಲಾಗಿದೆ ಖಾಸಗಿ. ಈ ಅಂಶಗಳ ವ್ಯಾಪ್ತಿಯು ಪ್ರಸ್ತುತ ಮಾಡ್ಯೂಲ್ ಆಗಿದೆ.

ಇದರ ಅರ್ಥ ಅದು sVAT_ರೇಟ್ и iMax_count ಪ್ರಸ್ತುತ ಮಾಡ್ಯೂಲ್‌ನ ಎಲ್ಲಾ ಕಾರ್ಯವಿಧಾನಗಳಲ್ಲಿ ಲಭ್ಯವಿರುತ್ತದೆ, ಆದರೆ ಇತರ ಮಾಡ್ಯೂಲ್‌ಗಳಲ್ಲಿನ ಕಾರ್ಯವಿಧಾನಗಳಿಗೆ ಲಭ್ಯವಿರುವುದಿಲ್ಲ.

ಪ್ರತ್ಯುತ್ತರ ನೀಡಿ