ಅಪ್ಲಿಕೇಶನ್‌ಗಾಗಿ ವಿಷುಯಲ್ ಬೇಸಿಕ್‌ನಲ್ಲಿ ಅರೇಗಳು

ಅಪ್ಲಿಕೇಶನ್‌ಗಾಗಿ ವಿಷುಯಲ್ ಬೇಸಿಕ್‌ನಲ್ಲಿರುವ ಅರೇಗಳು ಒಂದೇ ರೀತಿಯ ಸಂಬಂಧಿತ ವೇರಿಯಬಲ್‌ಗಳ ಸೆಟ್‌ಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಸಂಗ್ರಹಿಸುವ ರಚನೆಗಳಾಗಿವೆ. ಅರೇ ನಮೂದುಗಳನ್ನು ಅವುಗಳ ಸಂಖ್ಯಾತ್ಮಕ ಸೂಚ್ಯಂಕದಿಂದ ಪ್ರವೇಶಿಸಲಾಗುತ್ತದೆ.

ಉದಾಹರಣೆಗೆ, VBA ಕೋಡ್‌ನಲ್ಲಿ ನಂತರದ ಬಳಕೆಗಾಗಿ ಹೆಸರುಗಳನ್ನು ಉಳಿಸಬೇಕಾದ 20 ಜನರ ತಂಡವಿದೆ. ಪ್ರತಿ ಹೆಸರನ್ನು ಹಿಡಿದಿಡಲು ಒಬ್ಬರು 20 ಅಸ್ಥಿರಗಳನ್ನು ಸರಳವಾಗಿ ಘೋಷಿಸಬಹುದು, ಹಾಗೆ:

ಮಂದ ತಂಡ_ಸದಸ್ಯ1 ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಮಂದ ತಂಡ_ಸದಸ್ಯ2 ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ... ಮಂದ ತಂಡ_ಸದಸ್ಯ20 ಸ್ಟ್ರಿಂಗ್ ಆಗಿ

ಆದರೆ ನೀವು ಹೆಚ್ಚು ಸರಳವಾದ ಮತ್ತು ಹೆಚ್ಚು ಸಂಘಟಿತ ಮಾರ್ಗವನ್ನು ಬಳಸಬಹುದು - ತಂಡದ ಸದಸ್ಯರ ಹೆಸರುಗಳ ಪಟ್ಟಿಯನ್ನು 20 ವೇರಿಯಬಲ್‌ಗಳ ಶ್ರೇಣಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ ಸ್ಟ್ರಿಂಗ್:

ಮಂದ ತಂಡ_ಸದಸ್ಯರು(1 ರಿಂದ 20) ಸ್ಟ್ರಿಂಗ್ ಆಗಿ

ಮೇಲೆ ತೋರಿಸಿರುವ ಸಾಲಿನಲ್ಲಿ, ನಾವು ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಘೋಷಿಸಿದ್ದೇವೆ. ಈಗ ಅದರ ಪ್ರತಿಯೊಂದು ಅಂಶಗಳಿಗೆ ಮೌಲ್ಯವನ್ನು ಬರೆಯೋಣ, ಈ ರೀತಿ:

Team_Members(1) = "ಜಾನ್ ಸ್ಮಿತ್"

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

ಇದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಕೋಡ್ ಉದಾಹರಣೆಯೊಂದಿಗೆ ಕೆಳಗೆ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ ಅದು ಪ್ರತಿ ತಂಡದ ಸದಸ್ಯರ ಹೆಸರನ್ನು ಕಾಲಮ್ ಕೋಶಗಳಲ್ಲಿ ಅನುಕ್ರಮವಾಗಿ ಮುದ್ರಿಸುತ್ತದೆ. A ಸಕ್ರಿಯ ಎಕ್ಸೆಲ್ ವರ್ಕ್‌ಶೀಟ್.

i = 1 ರಿಂದ 20 ಸೆಲ್‌ಗಳಿಗೆ(i,1).ಮೌಲ್ಯ = Team_Members(i) ಮುಂದೆ i

ನಿಸ್ಸಂಶಯವಾಗಿ, 20 ಹೆಸರುಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ರಚನೆಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು 20 ಪ್ರತ್ಯೇಕ ಅಸ್ಥಿರಗಳನ್ನು ಬಳಸುವುದಕ್ಕಿಂತ ಕಡಿಮೆ ತೊಡಕಿನ ಮತ್ತು ಹೆಚ್ಚು ನಿಖರವಾಗಿದೆ. ಆದರೆ ಈ ಹೆಸರುಗಳು 20 ಅಲ್ಲ, ಆದರೆ 1000 ಆಗಿದ್ದರೆ ಏನು? ಮತ್ತು ಹೆಚ್ಚುವರಿಯಾಗಿ, ಉಪನಾಮಗಳು ಮತ್ತು ಪೋಷಕನಾಮಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಲು ಅಗತ್ಯವಿದ್ದರೆ?! ರಚನೆಯ ಸಹಾಯವಿಲ್ಲದೆ VBA ಕೋಡ್‌ನಲ್ಲಿ ಅಂತಹ ಪ್ರಮಾಣದ ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸಲು ಶೀಘ್ರದಲ್ಲೇ ಸಂಪೂರ್ಣವಾಗಿ ಅಸಾಧ್ಯವಾಗುತ್ತದೆ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ.

ಎಕ್ಸೆಲ್ ವಿಷುಯಲ್ ಬೇಸಿಕ್‌ನಲ್ಲಿ ಬಹು ಆಯಾಮದ ಅರೇಗಳು

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

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

ಮಂದ ಜನವರಿ_ಮಾರಾಟ_ಅಂಕಿ(1 ರಿಂದ 31, 1 ರಿಂದ 5) ಕರೆನ್ಸಿಯಾಗಿ

ರಚನೆಯ ಅಂಶಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಜನವರಿ_ಮಾರಾಟ_ ಅಂಕಿಅಂಶಗಳು, ನೀವು ತಿಂಗಳ ದಿನ ಮತ್ತು ಕಮಾಂಡ್ ಸಂಖ್ಯೆಯನ್ನು ಸೂಚಿಸುವ ಎರಡು ಸೂಚಿಕೆಗಳನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಮಾರಾಟದ ಅಂಕಿಅಂಶಗಳನ್ನು ಹೊಂದಿರುವ ಅಂಶದ ವಿಳಾಸ 2-ಓಹ್ ತಂಡಗಳು 15 ನೇ ಜನವರಿಯನ್ನು ಈ ರೀತಿ ಬರೆಯಲಾಗುತ್ತದೆ:

ಜನವರಿ_ಮಾರಾಟ_ಅಂಕಿ(15, 2)

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

ಎಕ್ಸೆಲ್ ವಿಷುಯಲ್ ಬೇಸಿಕ್‌ನಲ್ಲಿ ಅರೇಗಳನ್ನು ಘೋಷಿಸುವುದು

ಈ ಲೇಖನದಲ್ಲಿ ಮೊದಲು, ನಾವು ಈಗಾಗಲೇ VBA ನಲ್ಲಿ ಸರಣಿಗಳನ್ನು ಘೋಷಿಸುವ ಹಲವಾರು ಉದಾಹರಣೆಗಳನ್ನು ನೋಡಿದ್ದೇವೆ, ಆದರೆ ಈ ವಿಷಯವು ಹತ್ತಿರದ ನೋಟಕ್ಕೆ ಅರ್ಹವಾಗಿದೆ. ತೋರಿಸಿರುವಂತೆ, ಒಂದು ಆಯಾಮದ ರಚನೆಯನ್ನು ಈ ರೀತಿ ಘೋಷಿಸಬಹುದು:

ಮಂದ ತಂಡ_ಸದಸ್ಯರು(1 ರಿಂದ 20) ಸ್ಟ್ರಿಂಗ್ ಆಗಿ

ಅಂತಹ ಘೋಷಣೆಯು VBA ಕಂಪೈಲರ್‌ಗೆ ಅರೇ ಎಂದು ಹೇಳುತ್ತದೆ ತಂಡದ ಸದಸ್ಯರು 20 ರಿಂದ 1 ರವರೆಗಿನ ಸೂಚ್ಯಂಕಗಳಲ್ಲಿ ಪ್ರವೇಶಿಸಬಹುದಾದ 20 ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಆದಾಗ್ಯೂ, ನಮ್ಮ ಅರೇ ವೇರಿಯಬಲ್‌ಗಳನ್ನು 0 ರಿಂದ 19 ರವರೆಗಿನ ಸಂಖ್ಯೆಗಳ ಬಗ್ಗೆ ನಾವು ಯೋಚಿಸಬಹುದು, ಈ ಸಂದರ್ಭದಲ್ಲಿ ಅರೇ ಅನ್ನು ಈ ರೀತಿ ಘೋಷಿಸಬೇಕು:

ಮಂದ ತಂಡ_ಸದಸ್ಯರು(0 ರಿಂದ 19) ಸ್ಟ್ರಿಂಗ್ ಆಗಿ

ವಾಸ್ತವವಾಗಿ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ರಚನೆಯ ಅಂಶಗಳ ಸಂಖ್ಯೆಯು 0 ರಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ, ಮತ್ತು ರಚನೆಯ ಘೋಷಣೆಯಲ್ಲಿ, ಆರಂಭಿಕ ಸೂಚ್ಯಂಕವನ್ನು ಈ ರೀತಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗುವುದಿಲ್ಲ:

ಮಂದ ತಂಡ_ಸದಸ್ಯರು(19) ಸ್ಟ್ರಿಂಗ್ ಆಗಿ

VBA ಕಂಪೈಲರ್ ಅಂತಹ ನಮೂದನ್ನು 20 ರಿಂದ 0 ರವರೆಗಿನ ಸೂಚ್ಯಂಕಗಳೊಂದಿಗೆ 19 ಅಂಶಗಳ ಶ್ರೇಣಿಯನ್ನು ಘೋಷಿಸುವಂತೆ ಪರಿಗಣಿಸುತ್ತದೆ.

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

ಮಂದ ಜನವರಿ_ಮಾರಾಟ_ಅಂಕಿ(1 ರಿಂದ 31, 1 ರಿಂದ 5) ಕರೆನ್ಸಿಯಾಗಿ

ಆದಾಗ್ಯೂ, ನೀವು ರಚನೆಯ ಎರಡೂ ಆಯಾಮಗಳಿಗೆ ಆರಂಭಿಕ ಸೂಚ್ಯಂಕವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ ಮತ್ತು ಅದನ್ನು ಈ ರೀತಿ ಘೋಷಿಸಿ:

ಮಂದ ಜಾನ್_ಮಾರಾಟ_ಅಂಕಿ(31, 5) ಕರೆನ್ಸಿಯಾಗಿ

ನಂತರ ಈ ನಮೂದನ್ನು ಎರಡು ಆಯಾಮದ ವ್ಯೂಹ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ, ಅದರ ಮೊದಲ ಆಯಾಮವು 32 ರಿಂದ 0 ರವರೆಗಿನ ಸೂಚ್ಯಂಕಗಳೊಂದಿಗೆ 31 ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಮತ್ತು ರಚನೆಯ ಎರಡನೇ ಆಯಾಮವು 6 ರಿಂದ 0 ರವರೆಗಿನ ಸೂಚ್ಯಂಕಗಳೊಂದಿಗೆ 5 ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

ಡೈನಾಮಿಕ್ ಅರೇಗಳು

ಮೇಲಿನ ಉದಾಹರಣೆಗಳಲ್ಲಿನ ಎಲ್ಲಾ ಸರಣಿಗಳು ಸ್ಥಿರ ಸಂಖ್ಯೆಯ ಆಯಾಮಗಳನ್ನು ಹೊಂದಿವೆ. ಆದಾಗ್ಯೂ, ಅನೇಕ ಸಂದರ್ಭಗಳಲ್ಲಿ ನಮ್ಮ ರಚನೆಯು ಯಾವ ಗಾತ್ರದಲ್ಲಿರಬೇಕು ಎಂದು ನಮಗೆ ಮೊದಲೇ ತಿಳಿದಿರುವುದಿಲ್ಲ. ಬೃಹತ್ ಶ್ರೇಣಿಯನ್ನು ಘೋಷಿಸುವ ಮೂಲಕ ನಾವು ಪರಿಸ್ಥಿತಿಯಿಂದ ಹೊರಬರಬಹುದು, ಅದರ ಗಾತ್ರವು ಖಂಡಿತವಾಗಿಯೂ ನಮ್ಮ ಕಾರ್ಯಕ್ಕೆ ಅಗತ್ಯಕ್ಕಿಂತ ದೊಡ್ಡದಾಗಿರುತ್ತದೆ. ಆದರೆ ಅಂತಹ ಪರಿಹಾರಕ್ಕೆ ಹೆಚ್ಚಿನ ಮೆಮೊರಿ ಅಗತ್ಯವಿರುತ್ತದೆ ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ನಿಧಾನಗೊಳಿಸುತ್ತದೆ. ಉತ್ತಮ ಪರಿಹಾರವಿದೆ. ನಾವು ಡೈನಾಮಿಕ್ ಅರೇ ಅನ್ನು ಬಳಸಬಹುದು - ಇದು ಮ್ಯಾಕ್ರೋವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ ಎಷ್ಟು ಬಾರಿ ಬೇಕಾದರೂ ಗಾತ್ರವನ್ನು ಹೊಂದಿಸಬಹುದು ಮತ್ತು ಬದಲಾಯಿಸಬಹುದು.

ಡೈನಾಮಿಕ್ ಅರೇ ಅನ್ನು ಖಾಲಿ ಆವರಣಗಳೊಂದಿಗೆ ಘೋಷಿಸಲಾಗಿದೆ, ಈ ರೀತಿ:

ಮಂದ ತಂಡ_ಸದಸ್ಯರು() ಸ್ಟ್ರಿಂಗ್ ಆಗಿ

ಮುಂದೆ, ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಸಮಯದಲ್ಲಿ ನೀವು ರಚನೆಯ ಆಯಾಮವನ್ನು ಘೋಷಿಸಬೇಕಾಗುತ್ತದೆ ರೆಡಿಮ್:

ReDim Team_Members(1 ರಿಂದ 20)

ಮತ್ತು ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ ನೀವು ರಚನೆಯ ಗಾತ್ರವನ್ನು ಮತ್ತೆ ಬದಲಾಯಿಸಬೇಕಾದರೆ, ನೀವು ಮತ್ತೆ ರೆಡಿಮ್ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸಬಹುದು:

Team_Size > 20 ಆಗಿದ್ದರೆ ನಂತರ ReDim Team_Members(1 To Team_Size) ಕೊನೆಗೊಂಡರೆ

ಈ ರೀತಿಯಲ್ಲಿ ಡೈನಾಮಿಕ್ ಅರೇ ಅನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸುವುದರಿಂದ ರಚನೆಯಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಎಲ್ಲಾ ಮೌಲ್ಯಗಳ ನಷ್ಟಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ. ರಚನೆಯಲ್ಲಿ ಈಗಾಗಲೇ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು, ನೀವು ಕೀವರ್ಡ್ ಅನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ ಸಂರಕ್ಷಿಸಿಕೆಳಗೆ ತೋರಿಸಿರುವಂತೆ:

Team_Size > 20 ಆಗಿದ್ದರೆ ReDim Preserve Team_Members(1 to Team_Size) ಕೊನೆಗೊಂಡರೆ

ದುರದೃಷ್ಟವಶಾತ್ ಕೀವರ್ಡ್ ಸಂರಕ್ಷಿಸಿ ರಚನೆಯ ಆಯಾಮದ ಮೇಲಿನ ಗಡಿಯನ್ನು ಬದಲಾಯಿಸಲು ಮಾತ್ರ ಬಳಸಬಹುದು. ರಚನೆಯ ಕೆಳಗಿನ ಬೌಂಡ್ ಅನ್ನು ಈ ರೀತಿಯಲ್ಲಿ ಬದಲಾಯಿಸಲಾಗುವುದಿಲ್ಲ. ಅಲ್ಲದೆ, ರಚನೆಯು ಬಹು ಆಯಾಮಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ನಂತರ ಕೀವರ್ಡ್ ಬಳಸಿ ಸಂರಕ್ಷಿಸಿ, ರಚನೆಯ ಕೊನೆಯ ಆಯಾಮವನ್ನು ಮಾತ್ರ ಮರುಗಾತ್ರಗೊಳಿಸಬಹುದು.

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