VBA Syntax & Grammar
Makhanlal Chaturvedi University / BCA / VBA programming
VBA Syntax & Grammar Guide in Hindi
VBA Syntax & Grammar in Hindi
Introduction to VBA syntax and grammar rules in Hindi
VBA (Visual Basic for Applications) рдПрдХ programming language рд╣реИ рдЬрд┐рд╕реЗ Excel рдЬреИрд╕реЗ Microsoft Office applications рдореЗрдВ macros рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП use рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рд╣рдо VBA рд╕реАрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдЙрд╕рдХреА **syntax рдФрд░ grammar** рдХреЛ рд╕рдордЭрдирд╛ рд╣реЛрддрд╛ рд╣реИред Syntax рдХрд╛ рдорддрд▓рдм рд╣реЛрддрд╛ рд╣реИ тАУ рдХрд┐рд╕реА рднреА programming рднрд╛рд╖рд╛ рдореЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рдпрдо, рдЬреИрд╕реЗ рдХрд┐ рд╢рдмреНрджреЛрдВ рдХрд╛ рдХреНрд░рдо, punctuation (рдЬреИрд╕реЗ рдХреА comma, colon), рдФрд░ structure рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ред
рдЬреИрд╕реЗ рд╣рд┐рдВрджреА рднрд╛рд╖рд╛ рдореЗрдВ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ тАУ "рдореИрдВ рд╕реНрдХреВрд▓ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБред" тАУ рдЗрд╕рдореЗрдВ рдПрдХ рд╕рд╣реА рдХреНрд░рдо рд╣реИ, рд╡реИрд╕реЗ рд╣реА VBA рдореЗрдВ рднреА рдПрдХ рд╕рд╣реА рдХреНрд░рдо рдФрд░ format рд╣реЛрддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рдЙрд╕ рдирд┐рдпрдо рдХреЛ рдирд╣реАрдВ рдорд╛рдирддреЗ, рддреЛ VBA error рджреЗрддрд╛ рд╣реИред
- рд╣рд░ command рдпрд╛ statement рдПрдХ specific structure follow рдХрд░рддрд╛ рд╣реИред
- рд╣рд░ line рдХреЗ рдЕрдВрдд рдореЗрдВ generally new line рд╣реЛрддреА рд╣реИ (semicolon рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реЛрддреА)ред
- VBA case-insensitive рд╣реИ, рдпрд╛рдиреА "MsgBox" рдФрд░ "msgbox" рдХреЛ рдПрдХ рдЬреИрд╕рд╛ рд╕рдордЭрддрд╛ рд╣реИред
рдХреБрдЫ common keywords рдФрд░ рдЙрдирдХрд╛ рдХрд╛рдо рдиреАрдЪреЗ рдЯреЗрдмрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
Keyword | Meaning |
---|---|
Sub | Procedure рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рддрд╛ рд╣реИ |
End Sub | Procedure рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ |
Dim | Variable рдХреЛ declare рдХрд░рддрд╛ рд╣реИ |
If...Then | Condition check рдХрд░рддрд╛ рд╣реИ |
MsgBox | Message display рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП |
Understanding VBA code structure and writing clean code in Hindi
VBA рдореЗрдВ code structure рдмрд╣реБрдд simple рд╣реЛрддрд╛ рд╣реИред рдПрдХ code block рдПрдХ Procedure (рдЬреИрд╕реЗ Sub) рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ "End Sub" рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрдВрджрд░ рд╣рдо рдЕрдкрдиреЗ logic рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдПрдХ simple example рдиреАрдЪреЗ рджреЗрдЦреЗрдВ:
Sub HelloWorld()
MsgBox "Hello, World!"
End Sub
рдЗрд╕ code рдореЗрдВ:
Sub HelloWorld()
тАУ рдпрд╣ рдПрдХ procedure рдХреА рд╢реБрд░реБрдЖрдд рд╣реИредMsgBox
тАУ рдпрд╣ рдПрдХ function рд╣реИ рдЬреЛ message box рджрд┐рдЦрд╛рддрд╛ рд╣реИредEnd Sub
тАУ procedure рдХреА рд╕рдорд╛рдкреНрддрд┐ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
рдПрдХ рдЕрдЪреНрдЫрд╛ code рд╣рдореЗрд╢рд╛ clean рдФрд░ readable рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдХреБрдЫ рд╕реБрдЭрд╛рд╡ рджрд┐рдП рдЧрдП рд╣реИрдВ:
- рд╣рд░ statement рдХреЛ proper indent рдХрд░реЗрдВ, рдЬрд┐рд╕рд╕реЗ logic рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реЛред
- рд╣рд░ step рдкрд░ comments рд▓рд┐рдЦреЗрдВред Comments рдХрд╛ syntax рд╣реИ:
'
рдЬреИрд╕реЗ:' рдпрд╣ рдПрдХ comment рд╣реИ
- Variables рдХреЛ meaningful рдирд╛рдо рджреЗрдВ, рдЬреИрд╕реЗ
studentName
рдпрд╛totalMarks
Common syntax errors and how to avoid them in VBA in Hindi
рдЬрдм рд╣рдо VBA рд╕реАрдЦрддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рдЖрдо рдЧрд▓рддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ рдЬреЛ beginners рдЕрдХреНрд╕рд░ рдХрд░рддреЗ рд╣реИрдВред рдЗрдиреНрд╣реЗрдВ рд╕рдордЭрдирд╛ рдФрд░ avoid рдХрд░рдирд╛ рдЬрд╝рд░реВрд░реА рд╣реЛрддрд╛ рд╣реИред
- Spelling mistakes: рдЕрдЧрд░ рдЖрдкрдиреЗ
MsgBox
рдХреА spelling рдЧрд▓рдд рд▓рд┐рдЦреА рдЬреИрд╕реЗmsgbx
, рддреЛ error рдЖрдПрдЧрд╛ред - Missing keywords: рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрдиреЗ
If
рд▓рд┐рдЦрд╛ рд▓реЗрдХрд┐рдиEnd If
рдирд╣реАрдВ рд▓рд┐рдЦрд╛ред - Quotes рдирд╛ рд▓рдЧрд╛рдирд╛: рдЕрдЧрд░ рдЖрдк рдХрд┐рд╕реА string рдХреЛ
MsgBox
рдореЗрдВ show рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЙрд╕реЗ double quotes рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ тАУMsgBox "Hello"
- Variables declare рдирд╛ рдХрд░рдирд╛: рдЕрдЧрд░ рдЖрдкрдиреЗ рдХрд┐рд╕реА variable рдХреЛ declare рдирд╣реАрдВ рдХрд┐рдпрд╛ рдФрд░ Option Explicit enabled рд╣реИ, рддреЛ error рдЖрдПрдЧрд╛ред
рдЗрди errors рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП:
- Option Explicit рдХрд╛ use рдХрд░реЗрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЧрд▓рддреА рд╕реЗ undeclared variables рдирд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред
- рд╣рд░ code рдХреЗ рдмрд╛рдж test рдХрд░реЗрдВред
- Step-by-step debug рдХрд░реЗрдВ рдФрд░ breakpoints рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред
Best practices for writing readable VBA code in Hindi
Readable code рдХрд╛ рдорддрд▓рдм рд╣реЛрддрд╛ рд╣реИ рдРрд╕рд╛ code рдЬрд┐рд╕реЗ рдЖрдк рдпрд╛ рдХреЛрдИ рдФрд░ programmer рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдордЭ рд╕рдХреЗред рдиреАрдЪреЗ рдХреБрдЫ best practices рджреА рдЧрдИ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ follow рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
- Indentation: рд╣рд░ block (рдЬреИрд╕реЗ
If
,For
,Sub
) рдХреЗ рдЕрдВрджрд░ рдХрд╛ code рдереЛрдбрд╝рд╛ рдЕрдВрджрд░ (indent) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред - Comments рд▓рд┐рдЦреЗрдВ: рд╣рд░ logic рдХреЗ рдкрд╛рд╕ comment рд▓рд┐рдЦреЗрдВ рдХрд┐ рд╡реЛ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рд╕реЗ рджреВрд╕рд░реЛрдВ рдХреЛ рднреА рд╕рдордЭ рдЖрдПрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рднреА future рдореЗрдВ help рдорд┐рд▓реЗрдЧреАред
- Proper naming convention: Variables рдФрд░ procedures рдХреЛ meaningful рдирд╛рдо рджреЗрдВ, рдЬреИрд╕реЗ
CalculateTotalMarks
рдпрд╛studentAge
- Avoid hard-coding: рдЬрд╣рд╛рдБ рд╕рдВрднрд╡ рд╣реЛ, values рдХреЛ variables рдореЗрдВ store рдХрд░реЗрдВред
- Use Option Explicit: рдЗрд╕рд╕реЗ рдЖрдк рд╣рд░ variable рдХреЛ declare рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрдВрдЧреЗ рдФрд░ рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪреЗрдВрдЧреЗред
Option Explicit
Sub CalculateTotal()
' Marks рдХреЛ add рдХрд░рдХреЗ total рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ
Dim marks1 As Integer
Dim marks2 As Integer
Dim total As Integer
marks1 = 85
marks2 = 90
total = marks1 + marks2
MsgBox "Total Marks: " & total
End Sub
рдЗрд╕ example рдореЗрдВ:
- рд╣рд░ variable рдХреЛ declare рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
- Proper indentation use рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
- рдПрдХ comment рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ code рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ
рдЕрдЧрд░ рдЖрдк рдЗрди рдирд┐рдпрдореЛрдВ рдХреЛ follow рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХрд╛ code рдирд╛ рдХреЗрд╡рд▓ error-free рд░рд╣реЗрдЧрд╛ рдмрд▓реНрдХрд┐ рджреВрд╕рд░реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рднреА рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд░рд╣реЗрдЧрд╛ред