VBA ನಲ್ಲಿ "ಕಾರ್ಯ" ಮತ್ತು "ಉಪ" ಕಾರ್ಯವಿಧಾನಗಳು

ಪರಿವಿಡಿ

ಅಂತರ್ನಿರ್ಮಿತ VBA ಕಾರ್ಯಗಳು

ನೀವು ನಿಮ್ಮ ಸ್ವಂತ VBA ಕಾರ್ಯಗಳನ್ನು ರಚಿಸಲು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, Excel VBA ನಿಮ್ಮ ಕೋಡ್ ಬರೆಯುವಾಗ ನೀವು ಬಳಸಬಹುದಾದ ಪೂರ್ವ-ನಿರ್ಮಿತ ಅಂತರ್ನಿರ್ಮಿತ ಕಾರ್ಯಗಳ ಸಮೃದ್ಧ ಸಂಗ್ರಹವನ್ನು ಹೊಂದಿದೆ ಎಂದು ತಿಳಿದುಕೊಳ್ಳುವುದು ಒಳ್ಳೆಯದು.

ಈ ಕಾರ್ಯಗಳ ಪಟ್ಟಿಯನ್ನು VBA ಸಂಪಾದಕದಲ್ಲಿ ವೀಕ್ಷಿಸಬಹುದು:

  • ಎಕ್ಸೆಲ್ ವರ್ಕ್‌ಬುಕ್ ತೆರೆಯಿರಿ ಮತ್ತು VBA ಸಂಪಾದಕವನ್ನು ಪ್ರಾರಂಭಿಸಿ (ಇದನ್ನು ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ Alt + F11), ತದನಂತರ ಒತ್ತಿರಿ F2.
  • ಪರದೆಯ ಮೇಲಿನ ಎಡಭಾಗದಲ್ಲಿರುವ ಡ್ರಾಪ್‌ಡೌನ್ ಪಟ್ಟಿಯಿಂದ ಲೈಬ್ರರಿಯನ್ನು ಆಯ್ಕೆಮಾಡಿ ವಿಬಿಎ.
  • ಅಂತರ್ನಿರ್ಮಿತ VBA ತರಗತಿಗಳು ಮತ್ತು ಕಾರ್ಯಗಳ ಪಟ್ಟಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. ವಿಂಡೋದ ಕೆಳಭಾಗದಲ್ಲಿ ಅದರ ಸಂಕ್ಷಿಪ್ತ ವಿವರಣೆಯನ್ನು ಪ್ರದರ್ಶಿಸಲು ಕಾರ್ಯದ ಹೆಸರಿನ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ. ಒತ್ತುವುದು F1 ಆ ವೈಶಿಷ್ಟ್ಯಕ್ಕಾಗಿ ಆನ್‌ಲೈನ್ ಸಹಾಯ ಪುಟವನ್ನು ತೆರೆಯುತ್ತದೆ.

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

VBA ನಲ್ಲಿ ಕಸ್ಟಮ್ ಕಾರ್ಯವಿಧಾನಗಳು "ಫಂಕ್ಷನ್" ಮತ್ತು "ಉಪ"

ಎಕ್ಸೆಲ್ ವಿಷುಯಲ್ ಬೇಸಿಕ್‌ನಲ್ಲಿ, ಒಂದು ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯವನ್ನು ನಿರ್ವಹಿಸುವ ಆಜ್ಞೆಗಳ ಒಂದು ಸೆಟ್ ಅನ್ನು ಕಾರ್ಯವಿಧಾನದಲ್ಲಿ ಇರಿಸಲಾಗುತ್ತದೆ. ಕಾರ್ಯ (ಕಾರ್ಯ) ಅಥವಾ ಉಪ (ಸಬ್ರೌಟಿನ್). ಕಾರ್ಯವಿಧಾನಗಳ ನಡುವಿನ ಮುಖ್ಯ ವ್ಯತ್ಯಾಸ ಕಾರ್ಯ и ಉಪ ಅದು ಕಾರ್ಯವಿಧಾನವಾಗಿದೆ ಕಾರ್ಯ ಫಲಿತಾಂಶ, ಕಾರ್ಯವಿಧಾನವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಉಪ - ಅಲ್ಲ.

ಆದ್ದರಿಂದ, ನೀವು ಕ್ರಿಯೆಗಳನ್ನು ಮಾಡಬೇಕಾದರೆ ಮತ್ತು ಕೆಲವು ಫಲಿತಾಂಶಗಳನ್ನು ಪಡೆಯಬೇಕಾದರೆ (ಉದಾಹರಣೆಗೆ, ಹಲವಾರು ಸಂಖ್ಯೆಗಳ ಮೊತ್ತ), ನಂತರ ಕಾರ್ಯವಿಧಾನವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ ಕಾರ್ಯ, ಮತ್ತು ಕೆಲವು ಕ್ರಿಯೆಗಳನ್ನು ಸರಳವಾಗಿ ನಿರ್ವಹಿಸಲು (ಉದಾಹರಣೆಗೆ, ಕೋಶಗಳ ಗುಂಪಿನ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಿ), ನೀವು ಕಾರ್ಯವಿಧಾನವನ್ನು ಆರಿಸಬೇಕಾಗುತ್ತದೆ ಉಪ.

ವಾದಗಳು

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

Sub AddToCells(i ಇಂಟಿಜರ್ ಆಗಿ) ... ಉಪ ಅಂತ್ಯ

ಕಾರ್ಯವಿಧಾನಗಳಿಗೆ ವಾದಗಳನ್ನು ಹೊಂದಿರುವುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ ಕಾರ್ಯ и ಉಪ VBA ನಲ್ಲಿ ಐಚ್ಛಿಕವಾಗಿರುತ್ತದೆ. ಕೆಲವು ಕಾರ್ಯವಿಧಾನಗಳಿಗೆ ವಾದಗಳ ಅಗತ್ಯವಿಲ್ಲ.

ಐಚ್ಛಿಕ ವಾದಗಳು

VBA ಕಾರ್ಯವಿಧಾನಗಳು ಐಚ್ಛಿಕ ವಾದಗಳನ್ನು ಹೊಂದಬಹುದು. ಬಳಕೆದಾರರು ಬಯಸಿದಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದಾದ ವಾದಗಳು ಇವು, ಮತ್ತು ಅವುಗಳನ್ನು ಬಿಟ್ಟುಬಿಟ್ಟರೆ, ಕಾರ್ಯವಿಧಾನವು ಅವರಿಗೆ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯಗಳನ್ನು ಬಳಸುತ್ತದೆ.

ಹಿಂದಿನ ಉದಾಹರಣೆಗೆ ಹಿಂತಿರುಗಿ, ಐಚ್ಛಿಕ ಕಾರ್ಯಕ್ಕೆ ಪೂರ್ಣಾಂಕ ಆರ್ಗ್ಯುಮೆಂಟ್ ಮಾಡಲು, ಅದನ್ನು ಈ ರೀತಿ ಘೋಷಿಸಲಾಗುತ್ತದೆ:

ಉಪ AddToCells (ಐಚ್ಛಿಕ i ಪೂರ್ಣಾಂಕ = 0)

ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಪೂರ್ಣಾಂಕ ವಾದ i ಡೀಫಾಲ್ಟ್ 0 ಆಗಿರುತ್ತದೆ.

ಒಂದು ಕಾರ್ಯವಿಧಾನದಲ್ಲಿ ಹಲವಾರು ಐಚ್ಛಿಕ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳಿರಬಹುದು, ಇವೆಲ್ಲವನ್ನೂ ಆರ್ಗ್ಯುಮೆಂಟ್ ಪಟ್ಟಿಯ ಕೊನೆಯಲ್ಲಿ ಪಟ್ಟಿಮಾಡಲಾಗಿದೆ.

ಮೌಲ್ಯ ಮತ್ತು ಉಲ್ಲೇಖದ ಮೂಲಕ ವಾದಗಳನ್ನು ರವಾನಿಸುವುದು

VBA ನಲ್ಲಿನ ವಾದಗಳನ್ನು ಎರಡು ರೀತಿಯಲ್ಲಿ ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ರವಾನಿಸಬಹುದು:

  • ByVal - ಮೌಲ್ಯದಿಂದ ವಾದವನ್ನು ರವಾನಿಸುವುದು. ಇದರರ್ಥ ಕೇವಲ ಮೌಲ್ಯವನ್ನು (ಅಂದರೆ, ವಾದದ ನಕಲು) ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ರವಾನಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಆದ್ದರಿಂದ ಕಾರ್ಯವಿಧಾನದ ಒಳಗೆ ವಾದಕ್ಕೆ ಮಾಡಿದ ಯಾವುದೇ ಬದಲಾವಣೆಗಳು ಕಾರ್ಯವಿಧಾನವು ನಿರ್ಗಮಿಸಿದಾಗ ಕಳೆದುಹೋಗುತ್ತದೆ.
  • ByRef - ಉಲ್ಲೇಖದ ಮೂಲಕ ವಾದವನ್ನು ರವಾನಿಸುವುದು. ಅಂದರೆ, ಮೆಮೊರಿಯಲ್ಲಿ ಆರ್ಗ್ಯುಮೆಂಟ್ ಸ್ಥಳದ ನಿಜವಾದ ವಿಳಾಸವನ್ನು ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ರವಾನಿಸಲಾಗುತ್ತದೆ. ಕಾರ್ಯವಿಧಾನದ ಒಳಗಿನ ವಾದಕ್ಕೆ ಮಾಡಿದ ಯಾವುದೇ ಬದಲಾವಣೆಗಳನ್ನು ಕಾರ್ಯವಿಧಾನವು ನಿರ್ಗಮಿಸಿದಾಗ ಉಳಿಸಲಾಗುತ್ತದೆ.

ಕೀವರ್ಡ್‌ಗಳನ್ನು ಬಳಸುವುದು ByVal or ByRef ಕಾರ್ಯವಿಧಾನದ ಘೋಷಣೆಯಲ್ಲಿ, ವಾದವನ್ನು ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ಹೇಗೆ ರವಾನಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ಇದನ್ನು ಕೆಳಗಿನ ಉದಾಹರಣೆಗಳಲ್ಲಿ ತೋರಿಸಲಾಗಿದೆ:

ಉಪ AddToCells(ByVal i ಪೂರ್ಣಾಂಕದಂತೆ) ... ಉಪ ಅಂತ್ಯ
ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಪೂರ್ಣಾಂಕ ವಾದ i ಮೌಲ್ಯದಿಂದ ರವಾನಿಸಲಾಗಿದೆ. ಕಾರ್ಯವಿಧಾನವನ್ನು ತೊರೆದ ನಂತರ ಉಪ ಎಲ್ಲಾ ತಯಾರಿಸಲಾಗುತ್ತದೆ i ಬದಲಾವಣೆಗಳು ಕಳೆದುಹೋಗುತ್ತವೆ.
ಉಪ AddToCells(ByRef i ಪೂರ್ಣಾಂಕದಂತೆ) ... ಉಪ ಅಂತ್ಯ
ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಪೂರ್ಣಾಂಕ ವಾದ i ಉಲ್ಲೇಖದ ಮೂಲಕ ರವಾನಿಸಲಾಗಿದೆ. ಕಾರ್ಯವಿಧಾನವನ್ನು ತೊರೆದ ನಂತರ ಉಪ ಎಲ್ಲಾ ತಯಾರಿಸಲಾಗುತ್ತದೆ i ಬದಲಾವಣೆಗಳನ್ನು ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ರವಾನಿಸಲಾದ ವೇರಿಯಬಲ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಉಪ.

VBA ನಲ್ಲಿನ ವಾದಗಳನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಉಲ್ಲೇಖದ ಮೂಲಕ ರವಾನಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ. ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಕೀವರ್ಡ್‌ಗಳನ್ನು ಬಳಸದಿದ್ದರೆ ByVal or ByRef, ನಂತರ ವಾದವನ್ನು ಉಲ್ಲೇಖದ ಮೂಲಕ ರವಾನಿಸಲಾಗುತ್ತದೆ.

ಕಾರ್ಯವಿಧಾನಗಳೊಂದಿಗೆ ಮುಂದುವರಿಯುವ ಮೊದಲು ಕಾರ್ಯ и ಉಪ ಹೆಚ್ಚು ವಿವರವಾಗಿ, ಈ ಎರಡು ವಿಧದ ಕಾರ್ಯವಿಧಾನಗಳ ನಡುವಿನ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ವ್ಯತ್ಯಾಸಗಳನ್ನು ಮತ್ತೊಮ್ಮೆ ನೋಡಲು ಇದು ಉಪಯುಕ್ತವಾಗಿರುತ್ತದೆ. ಕೆಳಗಿನವುಗಳು VBA ಕಾರ್ಯವಿಧಾನಗಳ ಸಂಕ್ಷಿಪ್ತ ಚರ್ಚೆಗಳಾಗಿವೆ ಕಾರ್ಯ и ಉಪ ಮತ್ತು ಸರಳ ಉದಾಹರಣೆಗಳನ್ನು ತೋರಿಸಲಾಗಿದೆ.

VBA ಕಾರ್ಯವಿಧಾನ "ಕಾರ್ಯ"

VBA ಸಂಪಾದಕವು ಕಾರ್ಯವಿಧಾನವನ್ನು ಗುರುತಿಸುತ್ತದೆ ಕಾರ್ಯಕೆಳಗಿನ ಆರಂಭಿಕ ಮತ್ತು ಮುಚ್ಚುವಿಕೆಯ ಹೇಳಿಕೆಗಳ ನಡುವೆ ಸುತ್ತುವರಿದ ಆಜ್ಞೆಗಳ ಗುಂಪನ್ನು ಅದು ಎದುರಿಸಿದಾಗ:

ಫಂಕ್ಷನ್ ... ಎಂಡ್ ಫಂಕ್ಷನ್

ಮೊದಲೇ ಹೇಳಿದಂತೆ, ಕಾರ್ಯವಿಧಾನ ಕಾರ್ಯ VBA ನಲ್ಲಿ (ವಿರುದ್ಧವಾಗಿ ಉಪ) ಮೌಲ್ಯವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಮೌಲ್ಯಗಳನ್ನು ಹಿಂದಿರುಗಿಸಲು ಈ ಕೆಳಗಿನ ನಿಯಮಗಳು ಅನ್ವಯಿಸುತ್ತವೆ:

  • ರಿಟರ್ನ್ ಮೌಲ್ಯದ ಡೇಟಾ ಪ್ರಕಾರವನ್ನು ಕಾರ್ಯವಿಧಾನದ ಹೆಡರ್‌ನಲ್ಲಿ ಘೋಷಿಸಬೇಕು ಕಾರ್ಯ.
  • ರಿಟರ್ನ್ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿರುವ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಕಾರ್ಯವಿಧಾನದಂತೆಯೇ ಹೆಸರಿಸಬೇಕು ಕಾರ್ಯ. ಈ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಘೋಷಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಏಕೆಂದರೆ ಇದು ಯಾವಾಗಲೂ ಕಾರ್ಯವಿಧಾನದ ಅವಿಭಾಜ್ಯ ಅಂಗವಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ. ಕಾರ್ಯ.

ಕೆಳಗಿನ ಉದಾಹರಣೆಯಲ್ಲಿ ಇದನ್ನು ಚೆನ್ನಾಗಿ ವಿವರಿಸಲಾಗಿದೆ.

VBA ಕ್ರಿಯೆಯ ಉದಾಹರಣೆ: 3 ಸಂಖ್ಯೆಗಳ ಮೇಲೆ ಗಣಿತದ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿರ್ವಹಿಸುವುದು

ಕೆಳಗಿನವು VBA ಕಾರ್ಯವಿಧಾನದ ಕೋಡ್‌ನ ಉದಾಹರಣೆಯಾಗಿದೆ ಕಾರ್ಯ, ಇದು ಪ್ರಕಾರದ ಮೂರು ವಾದಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಡಬಲ್ (ಡಬಲ್-ನಿಖರವಾದ ಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಸಂಖ್ಯೆಗಳು). ಪರಿಣಾಮವಾಗಿ, ಕಾರ್ಯವಿಧಾನವು ಮತ್ತೊಂದು ಸಂಖ್ಯೆಯ ಪ್ರಕಾರವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಡಬಲ್ಮೊದಲ ಎರಡು ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳ ಮೊತ್ತವನ್ನು ಕಳೆದು ಮೂರನೇ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗೆ ಸಮನಾಗಿರುತ್ತದೆ:

ಫಂಕ್ಷನ್ SumMinus(dNum1 ಡಬಲ್ ಆಗಿ, dNum2 ಡಬಲ್ ಆಗಿ, dNum3 ಡಬಲ್ ಆಗಿ) ಡಬಲ್ SumMinus = dNum1 + dNum2 - dNum3 ಎಂಡ್ ಫಂಕ್ಷನ್

ಇದು ತುಂಬಾ ಸರಳವಾದ VBA ಕಾರ್ಯವಿಧಾನ ಕಾರ್ಯ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳ ಮೂಲಕ ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ಡೇಟಾವನ್ನು ಹೇಗೆ ರವಾನಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ. ಕಾರ್ಯವಿಧಾನದಿಂದ ಹಿಂತಿರುಗಿದ ಡೇಟಾ ಪ್ರಕಾರವನ್ನು ಹೀಗೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ ಎಂದು ನೀವು ನೋಡಬಹುದು ಡಬಲ್ (ಪದಗಳು ಹೇಳುತ್ತವೆ ಡಬಲ್ ಆಗಿ ವಾದಗಳ ಪಟ್ಟಿಯ ನಂತರ). ಈ ಉದಾಹರಣೆಯು ಕಾರ್ಯವಿಧಾನದ ಫಲಿತಾಂಶವನ್ನು ಸಹ ತೋರಿಸುತ್ತದೆ ಕಾರ್ಯ ಕಾರ್ಯವಿಧಾನದ ಹೆಸರಿನಂತೆಯೇ ಅದೇ ಹೆಸರಿನೊಂದಿಗೆ ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ.

VBA ಕಾರ್ಯವಿಧಾನವನ್ನು "ಫಂಕ್ಷನ್" ಎಂದು ಕರೆಯುವುದು

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

ಮತ್ತೊಂದು ಕಾರ್ಯವಿಧಾನದಿಂದ VBA ಕಾರ್ಯವಿಧಾನವನ್ನು "ಫಂಕ್ಷನ್" ಎಂದು ಕರೆಯಿರಿ

ವಿಧಾನ ಕಾರ್ಯ ವೇರಿಯೇಬಲ್‌ಗೆ ಆ ವಿಧಾನವನ್ನು ಸರಳವಾಗಿ ನಿಯೋಜಿಸುವ ಮೂಲಕ ಮತ್ತೊಂದು VBA ಕಾರ್ಯವಿಧಾನದಿಂದ ಕರೆಯಬಹುದು. ಕೆಳಗಿನ ಉದಾಹರಣೆಯು ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ಕರೆಯನ್ನು ತೋರಿಸುತ್ತದೆ ಸಮ್ಮಿನಸ್, ಮೇಲೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ.

ಉಪ ಮುಖ್ಯ() ದ್ವಿಗುಣ ಒಟ್ಟು ಮೊತ್ತ = SumMinus(5, 4, 3) ಅಂತ್ಯ ಉಪ

ವರ್ಕ್‌ಶೀಟ್‌ನಿಂದ VBA ಕಾರ್ಯವಿಧಾನವನ್ನು "ಫಂಕ್ಷನ್" ಎಂದು ಕರೆ ಮಾಡಿ

VBA ಕಾರ್ಯವಿಧಾನ ಕಾರ್ಯ ಯಾವುದೇ ಇತರ ಅಂತರ್ನಿರ್ಮಿತ ಎಕ್ಸೆಲ್ ಕಾರ್ಯದಂತೆಯೇ ಎಕ್ಸೆಲ್ ವರ್ಕ್‌ಶೀಟ್‌ನಿಂದ ಕರೆಯಬಹುದು. ಆದ್ದರಿಂದ, ಹಿಂದಿನ ಉದಾಹರಣೆಯಲ್ಲಿ ರಚಿಸಲಾದ ಕಾರ್ಯವಿಧಾನ ಕಾರ್ಯ - ಸಮ್ಮಿನಸ್ ಕೆಳಗಿನ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ವರ್ಕ್‌ಶೀಟ್ ಕೋಶಕ್ಕೆ ನಮೂದಿಸುವ ಮೂಲಕ ಕರೆಯಬಹುದು:

=SumMinus(10, 5, 2)

VBA ಕಾರ್ಯವಿಧಾನ "ಉಪ"

VBA ಸಂಪಾದಕರು ಅದರ ಮುಂದೆ ಒಂದು ಕಾರ್ಯವಿಧಾನವಿದೆ ಎಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತಾರೆ ಉಪಕೆಳಗಿನ ಆರಂಭಿಕ ಮತ್ತು ಮುಚ್ಚುವಿಕೆಯ ಹೇಳಿಕೆಗಳ ನಡುವೆ ಸುತ್ತುವರಿದ ಆಜ್ಞೆಗಳ ಗುಂಪನ್ನು ಅದು ಎದುರಿಸಿದಾಗ:

ಉಪ ... ಉಪ ಅಂತ್ಯ

VBA ಕಾರ್ಯವಿಧಾನ "ಉಪ": ಉದಾಹರಣೆ 1. ಆಯ್ದ ಶ್ರೇಣಿಯ ಕೋಶಗಳಲ್ಲಿ ಕೇಂದ್ರ ಜೋಡಣೆ ಮತ್ತು ಫಾಂಟ್ ಗಾತ್ರ ಬದಲಾವಣೆ

ಸರಳವಾದ VBA ಕಾರ್ಯವಿಧಾನದ ಉದಾಹರಣೆಯನ್ನು ಪರಿಗಣಿಸಿ ಉಪ, ಆಯ್ದ ಶ್ರೇಣಿಯ ಕೋಶಗಳ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸುವುದು ಅವರ ಕಾರ್ಯವಾಗಿದೆ. ಕೋಶಗಳು ಕೇಂದ್ರೀಕೃತವಾಗಿವೆ (ಲಂಬವಾಗಿ ಮತ್ತು ಅಡ್ಡಲಾಗಿ) ಮತ್ತು ಫಾಂಟ್ ಗಾತ್ರವನ್ನು ಬಳಕೆದಾರ-ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ:

ಉಪ Format_Centered_And_Sized(ಪೂರ್ಣಾಂಕ = 10 ರಂತೆ iFontSize ಐಚ್ಛಿಕ) ಆಯ್ಕೆ.

ಈ ವಿಧಾನ ಉಪ ಕ್ರಿಯೆಗಳನ್ನು ಮಾಡುತ್ತದೆ ಆದರೆ ಫಲಿತಾಂಶವನ್ನು ಹಿಂತಿರುಗಿಸುವುದಿಲ್ಲ.

ಈ ಉದಾಹರಣೆಯು ಐಚ್ಛಿಕ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ಸಹ ಬಳಸುತ್ತದೆ ಅಕ್ಷರ ಗಾತ್ರ. ವಾದದ ವೇಳೆ ಅಕ್ಷರ ಗಾತ್ರ ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ರವಾನಿಸಲಾಗಿಲ್ಲ ಉಪ, ನಂತರ ಅದರ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯವು 10 ಆಗಿದೆ. ಆದಾಗ್ಯೂ, ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಗಿದ್ದರೆ ಅಕ್ಷರ ಗಾತ್ರ ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ರವಾನಿಸಲಾಗಿದೆ ಉಪ, ನಂತರ ಆಯ್ಕೆಮಾಡಿದ ಕೋಶಗಳ ಶ್ರೇಣಿಯನ್ನು ಬಳಕೆದಾರರು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಫಾಂಟ್ ಗಾತ್ರಕ್ಕೆ ಹೊಂದಿಸಲಾಗುವುದು.

VBA ಉಪ ವಿಧಾನ: ಉದಾಹರಣೆ 2: ಆಯ್ದ ಶ್ರೇಣಿಯ ಕೋಶಗಳಲ್ಲಿ ಮಧ್ಯಕ್ಕೆ ಜೋಡಿಸಿ ಮತ್ತು ದಪ್ಪ ಫಾಂಟ್

ಈ ಕೆಳಗಿನ ಕಾರ್ಯವಿಧಾನವು ಈಗ ಚರ್ಚಿಸಿದ ವಿಧಾನಕ್ಕೆ ಹೋಲುತ್ತದೆ, ಆದರೆ ಈ ಸಮಯದಲ್ಲಿ, ಮರುಗಾತ್ರಗೊಳಿಸುವ ಬದಲು, ಆಯ್ದ ಶ್ರೇಣಿಯ ಕೋಶಗಳಿಗೆ ದಪ್ಪ ಫಾಂಟ್ ಶೈಲಿಯನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ. ಇದು ಒಂದು ಉದಾಹರಣೆ ಕಾರ್ಯವಿಧಾನವಾಗಿದೆ ಉಪ, ಇದು ಯಾವುದೇ ವಾದಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ:

Sub Format_Centered_And_Bold() Selection.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlCenter Selection.Font.Bold = ಟ್ರೂ ಎಂಡ್ ಸಬ್

ಎಕ್ಸೆಲ್ VBA ನಲ್ಲಿ "ಉಪ" ಕಾರ್ಯವಿಧಾನವನ್ನು ಕರೆಯುವುದು

ಮತ್ತೊಂದು ವಿಧಾನದಿಂದ VBA ಕಾರ್ಯವಿಧಾನವನ್ನು "ಉಪ" ಎಂದು ಕರೆಯಿರಿ

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

ಉಪ ಮುಖ್ಯ() ಕರೆ Format_Centered_and_Sized(20) ಉಪ ಅಂತ್ಯ

ಕಾರ್ಯವಿಧಾನದ ವೇಳೆ ಫಾರ್ಮ್ಯಾಟ್_ಕೇಂದ್ರಿತ_ಮತ್ತು_ಗಾತ್ರ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ವಾದಗಳನ್ನು ಹೊಂದಿದೆ, ಅವುಗಳನ್ನು ಅಲ್ಪವಿರಾಮದಿಂದ ಬೇರ್ಪಡಿಸಬೇಕು. ಹೀಗೆ:

ಉಪ ಮುಖ್ಯ() ಕರೆ Format_Centered_And_Sized(arg1, arg2, ...) ಉಪ ಅಂತ್ಯ

ವರ್ಕ್‌ಶೀಟ್‌ನಿಂದ VBA ಕಾರ್ಯವಿಧಾನವನ್ನು "ಉಪ" ಎಂದು ಕರೆ ಮಾಡಿ

ವಿಧಾನ ಉಪ ಎಕ್ಸೆಲ್ ಶೀಟ್ ಕೋಶಕ್ಕೆ ನೇರವಾಗಿ ನಮೂದಿಸಲಾಗುವುದಿಲ್ಲ, ಒಂದು ಕಾರ್ಯವಿಧಾನದ ಮೂಲಕ ಮಾಡಬಹುದು ಕಾರ್ಯಏಕೆಂದರೆ ಕಾರ್ಯವಿಧಾನ ಉಪ ಮೌಲ್ಯವನ್ನು ಹಿಂತಿರುಗಿಸುವುದಿಲ್ಲ. ಆದಾಗ್ಯೂ, ಕಾರ್ಯವಿಧಾನಗಳು ಉಪ, ಇದು ಯಾವುದೇ ವಾದಗಳನ್ನು ಹೊಂದಿಲ್ಲ ಮತ್ತು ಎಂದು ಘೋಷಿಸಲಾಗಿದೆ ಸಾರ್ವಜನಿಕ (ಕೆಳಗೆ ತೋರಿಸಿರುವಂತೆ) ವರ್ಕ್‌ಶೀಟ್‌ನ ಬಳಕೆದಾರರಿಗೆ ಲಭ್ಯವಿರುತ್ತದೆ. ಹೀಗಾಗಿ, ಮೇಲೆ ಚರ್ಚಿಸಿದ ಸರಳ ವಿಧಾನಗಳು ವೇಳೆ ಉಪ ವಿಷುಯಲ್ ಬೇಸಿಕ್ ಎಡಿಟರ್‌ನಲ್ಲಿ ಮಾಡ್ಯೂಲ್‌ಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಕಾರ್ಯವಿಧಾನ ಫಾರ್ಮ್ಯಾಟ್_ಸೆಂಟರ್ಡ್_ಮತ್ತು_ಬೋಲ್ಡ್ ಎಕ್ಸೆಲ್ ವರ್ಕ್‌ಶೀಟ್ ಮತ್ತು ಕಾರ್ಯವಿಧಾನದಲ್ಲಿ ಬಳಕೆಗೆ ಲಭ್ಯವಿರುತ್ತದೆ ಫಾರ್ಮ್ಯಾಟ್_ಕೇಂದ್ರಿತ_ಮತ್ತು_ಗಾತ್ರ - ಇದು ವಾದಗಳನ್ನು ಹೊಂದಿರುವ ಕಾರಣ ಲಭ್ಯವಿರುವುದಿಲ್ಲ.

ಕಾರ್ಯವಿಧಾನವನ್ನು ಚಲಾಯಿಸಲು (ಅಥವಾ ಕಾರ್ಯಗತಗೊಳಿಸಲು) ಸುಲಭವಾದ ಮಾರ್ಗ ಇಲ್ಲಿದೆ ಉಪ, ವರ್ಕ್‌ಶೀಟ್‌ನಿಂದ ಪ್ರವೇಶಿಸಬಹುದು:

  • ಪತ್ರಿಕೆಗಳು Alt + F8 (ಕೀಲಿಯನ್ನು ಒತ್ತಿ ಆಲ್ಟ್ ಮತ್ತು ಅದನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವಾಗ, ಕೀಲಿಯನ್ನು ಒತ್ತಿರಿ F8).
  • ಕಾಣಿಸಿಕೊಳ್ಳುವ ಮ್ಯಾಕ್ರೋಗಳ ಪಟ್ಟಿಯಲ್ಲಿ, ನೀವು ಚಲಾಯಿಸಲು ಬಯಸುವ ಒಂದನ್ನು ಆಯ್ಕೆಮಾಡಿ.
  • ಪತ್ರಿಕೆಗಳು ರನ್ (ಓಡು)

ಒಂದು ಕಾರ್ಯವಿಧಾನವನ್ನು ನಿರ್ವಹಿಸಲು ಉಪ ತ್ವರಿತವಾಗಿ ಮತ್ತು ಸುಲಭವಾಗಿ, ನೀವು ಅದಕ್ಕೆ ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ನಿಯೋಜಿಸಬಹುದು. ಇದಕ್ಕಾಗಿ:

  • ಪತ್ರಿಕೆಗಳು Alt + F8.
  • ಕಾಣಿಸಿಕೊಳ್ಳುವ ಮ್ಯಾಕ್ರೋಗಳ ಪಟ್ಟಿಯಲ್ಲಿ, ನೀವು ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ನಿಯೋಜಿಸಲು ಬಯಸುವ ಒಂದನ್ನು ಆಯ್ಕೆಮಾಡಿ.
  • ಪತ್ರಿಕೆಗಳು ನಿಯತಾಂಕಗಳನ್ನು (ಆಯ್ಕೆಗಳು) ಮತ್ತು ಕಾಣಿಸಿಕೊಳ್ಳುವ ಸಂವಾದ ಪೆಟ್ಟಿಗೆಯಲ್ಲಿ, ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ನಮೂದಿಸಿ.
  • ಪತ್ರಿಕೆಗಳು OK ಮತ್ತು ಸಂವಾದವನ್ನು ಮುಚ್ಚಿ ಮ್ಯಾಕ್ರೊ (ಮ್ಯಾಕ್ರೋ).

ಗಮನ: ಮ್ಯಾಕ್ರೋಗೆ ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ನಿಯೋಜಿಸುವಾಗ, ಅದನ್ನು ಎಕ್ಸೆಲ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಿತವಾಗಿ ಬಳಸಲಾಗುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ (ಉದಾಹರಣೆಗೆ, Ctrl + C.) ನೀವು ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ಆರಿಸಿದರೆ, ಅದನ್ನು ಮ್ಯಾಕ್ರೋಗೆ ಮರುಹೊಂದಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಪರಿಣಾಮವಾಗಿ, ಬಳಕೆದಾರರು ಆಕಸ್ಮಿಕವಾಗಿ ಮ್ಯಾಕ್ರೋವನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು.

VBA ಕಾರ್ಯವಿಧಾನದ ವ್ಯಾಪ್ತಿ

ಈ ಟ್ಯುಟೋರಿಯಲ್‌ನ ಭಾಗ 2 ಅಸ್ಥಿರ ಮತ್ತು ಸ್ಥಿರಾಂಕಗಳ ವ್ಯಾಪ್ತಿ ಮತ್ತು ಕೀವರ್ಡ್‌ಗಳ ಪಾತ್ರವನ್ನು ಚರ್ಚಿಸಿದೆ. ಸಾರ್ವಜನಿಕ и ಖಾಸಗಿ. ಈ ಕೀವರ್ಡ್‌ಗಳನ್ನು VBA ಕಾರ್ಯವಿಧಾನಗಳೊಂದಿಗೆ ಸಹ ಬಳಸಬಹುದು:

ಸಾರ್ವಜನಿಕ ಉಪ AddToCells(i ಇಂಟಿಜರ್ ಆಗಿ) ... ಉಪ ಅಂತ್ಯ
ಕಾರ್ಯವಿಧಾನದ ಘೋಷಣೆಯ ಮೊದಲು ಕೀವರ್ಡ್ ಇದ್ದರೆ ಸಾರ್ವಜನಿಕ, ನಂತರ ಕಾರ್ಯವಿಧಾನವು ಆ VBA ಯೋಜನೆಯಲ್ಲಿ ಎಲ್ಲಾ ಮಾಡ್ಯೂಲ್‌ಗಳಿಗೆ ಲಭ್ಯವಿರುತ್ತದೆ.
ಖಾಸಗಿ ಉಪ AddToCells(i ಇಂಟಿಜರ್ ಆಗಿ) ... ಉಪ ಅಂತ್ಯ
ಕಾರ್ಯವಿಧಾನದ ಘೋಷಣೆಯ ಮೊದಲು ಕೀವರ್ಡ್ ಇದ್ದರೆ ಖಾಸಗಿ, ನಂತರ ಈ ವಿಧಾನವು ಪ್ರಸ್ತುತ ಮಾಡ್ಯೂಲ್‌ಗೆ ಮಾತ್ರ ಲಭ್ಯವಿರುತ್ತದೆ. ಯಾವುದೇ ಇತರ ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿರುವಾಗ ಅಥವಾ ಎಕ್ಸೆಲ್ ವರ್ಕ್‌ಬುಕ್‌ನಿಂದ ಇದನ್ನು ಕರೆಯಲಾಗುವುದಿಲ್ಲ.

VBA ಕಾರ್ಯವಿಧಾನವನ್ನು ಘೋಷಿಸುವ ಮೊದಲು ನೆನಪಿಡಿ ಕಾರ್ಯ or ಉಪ ಕೀವರ್ಡ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ, ಕಾರ್ಯವಿಧಾನಕ್ಕಾಗಿ ಡೀಫಾಲ್ಟ್ ಆಸ್ತಿಯನ್ನು ಹೊಂದಿಸಲಾಗಿದೆ ಸಾರ್ವಜನಿಕ (ಅಂದರೆ, ಇದು ಈ VBA ಯೋಜನೆಯಲ್ಲಿ ಎಲ್ಲೆಡೆ ಲಭ್ಯವಿರುತ್ತದೆ). ಇದು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ವೇರಿಯಬಲ್ ಘೋಷಣೆಗಳಿಗೆ ವ್ಯತಿರಿಕ್ತವಾಗಿದೆ ಖಾಸಗಿ.

VBA ಕಾರ್ಯವಿಧಾನಗಳಿಂದ ಆರಂಭಿಕ ನಿರ್ಗಮನ "ಫಂಕ್ಷನ್" ಮತ್ತು "ಉಪ"

ನೀವು VBA ಕಾರ್ಯವಿಧಾನದ ಮರಣದಂಡನೆಯನ್ನು ಕೊನೆಗೊಳಿಸಬೇಕಾದರೆ ಕಾರ್ಯ or ಉಪ, ಅದರ ನೈಸರ್ಗಿಕ ಅಂತ್ಯಕ್ಕಾಗಿ ಕಾಯದೆ, ನಂತರ ಇದಕ್ಕಾಗಿ ನಿರ್ವಾಹಕರು ಇದ್ದಾರೆ ನಿರ್ಗಮನ ಕಾರ್ಯ и ನಿರ್ಗಮನ ಉಪ. ಈ ನಿರ್ವಾಹಕರ ಬಳಕೆಯನ್ನು ಉದಾಹರಣೆಯಾಗಿ ಸರಳ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಕೆಳಗೆ ತೋರಿಸಲಾಗಿದೆ. ಕಾರ್ಯಮುಂದಿನ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಧನಾತ್ಮಕ ವಾದವನ್ನು ಸ್ವೀಕರಿಸಲು ನಿರೀಕ್ಷಿಸುವ A. ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ಧನಾತ್ಮಕವಲ್ಲದ ಮೌಲ್ಯವನ್ನು ರವಾನಿಸಿದರೆ, ನಂತರ ಯಾವುದೇ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲಾಗುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಬಳಕೆದಾರರಿಗೆ ದೋಷ ಸಂದೇಶವನ್ನು ತೋರಿಸಬೇಕು ಮತ್ತು ಕಾರ್ಯವಿಧಾನವು ತಕ್ಷಣವೇ ನಿರ್ಗಮಿಸಬೇಕು:

ಫಂಕ್ಷನ್ VAT_Amount(sVAT_Rate Single) Single VAT_Amount = 0 sVAT_Rate ವೇಳೆ <= 0 ನಂತರ MsgBox "sVAT_Rate ನ ಧನಾತ್ಮಕ ಮೌಲ್ಯವನ್ನು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ ಆದರೆ ಸ್ವೀಕರಿಸಲಾಗಿದೆ " & sVAT_Rate ಎಕ್ಸಿಟ್ ಫಂಕ್ಷನ್ ಕೊನೆಗೊಂಡರೆ ... ಮುಕ್ತಾಯ ಕಾರ್ಯ

ಕಾರ್ಯವಿಧಾನವನ್ನು ಪೂರ್ಣಗೊಳಿಸುವ ಮೊದಲು ದಯವಿಟ್ಟು ಗಮನಿಸಿ ಕಾರ್ಯ - VAT_ಮೊತ್ತ, ಅಂತರ್ನಿರ್ಮಿತ VBA ಕಾರ್ಯವನ್ನು ಕೋಡ್‌ಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ MsgBox, ಇದು ಬಳಕೆದಾರರಿಗೆ ಎಚ್ಚರಿಕೆಯ ಪಾಪ್ಅಪ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.

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