Introduction to VBA Editor, Basic VBA Concepts

VBA Excel macros के पीछे की programming भाषा है: VBA editor में आप Sub procedures पढ़ते और लिखते हैं जो Excel को Range और Cells जैसे objects के ज़रिए command करते हैं, आपके recorded macros को लचीले code में बदलते हुए जिसे आप edit और विस्तारित कर सकते हैं।

11 min read · 8 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

Piano roll के पीछे: असल code

पिछले lesson में Aryan ने एक macro record किया। अब वह इसे खोलता है, और पाता है यह जादू नहीं है, यह code है, VBA (Visual Basic for Applications) नामक भाषा में एक असली program।

यह एक BCA student के लिए एक आनंददायक पल है: programming जो आपने BCA104 में सीखी (variables, loops, if-statements) यहाँ भी मौजूद है, Excel की ओर लक्षित। एक recorded macro बस VBA है जो Excel ने आपके लिए लिखा।

थोड़ी सी भी VBA समझना कठोर recordings को लचीले, editable automation में बदल देता है। और आप पहले से एक programmer की तरह सोचते हैं। चलिए editor खोलें और कुछ code पढ़ें।

Theory

Excel को एक robot की तरह command करना

VBA आपको Excel को typed commands देने देता है, एक robot को निर्देश देने की तरह: 'cell A1 पर जाओ' (Range("A1")), 'वहाँ 100 रखो' (.Value = 100), 'इसे bold बनाओ' (.Font.Bold = True)। Excel objects से बना है (workbooks, sheets, cells), हर एक की properties के साथ जो आप पढ़ते या सेट करते हैं। VBA उन objects पर हुकूमत करने की भाषा है। एक macro बस ऐसे commands की एक सूची है जो ऊपर से नीचे चलती है, ठीक एक C program के statements की तरह।

Theory

एक macro की शारीरिक रचना

VBA Editor खोलने को Alt+F11 दबाइए। एक macro एक Sub procedure है:

Sub FormatReport()

Range("A1").Value = "Monthly Report"

Range("A1").Font.Bold = True

Range("B2:B50").NumberFormat = "0.00"

End Sub

इसे पढ़ना: Sub ... End Sub macro को लपेटता है (जैसे main() एक C program को लपेटता है)। हर line एक object को command करती है: Range("A1") लक्ष्य है, .Value और .Font.Bold set की जाती properties हैं। Cells(row, col) एक cell को number से लक्षित करता है, loops के अंदर काम का।

यह वह code है जो recorder ने पैदा किया। अब Aryan इसे edit कर सकता है।

Quiz

VBA में, line Range("A1").Value = 100 क्या करती है?

  1. Range object की Value property सेट करके cell A1 की value 100 सेट करती है
  2. A1 में जो भी है पढ़ती है
  3. Cell A1 delete करती है
  4. A1 नामक एक नई sheet बनाती है
Show the answer

Range object की Value property सेट करके cell A1 की value 100 सेट करती है

Range("A1") object है (cell), .Value उसकी property है, और = 100 उस property को सेट करता है, तो A1 100 बन जाता है। यह object-dot-property pattern सारे VBA का मूल है: एक object लक्षित कीजिए, उसकी properties पढ़िए या सेट कीजिए। यह BCA104 C में एक struct member को access करने (student.marks) वाला वही idea है, objects जिनकी properties आप नाम से संबोधित करते हैं।

Think first

आपके C कौशल transfer होते हैं

Aryan चाहता है कि उसका macro A1 से A10 तक cells को bold करे, सिर्फ A1 नहीं। C में वह एक for loop इस्तेमाल करता। VBA में For...Next है। मोटे तौर पर वह कैसे loop करेगा, और यह आपको VBA के बारे में क्या बताता है?

Show the answer

कुछ इस तरह:

For i = 1 To 10

Cells(i, 1).Font.Bold = True

Next i

Cells(i, 1) row i, column 1 को लक्षित करता है, तो loop A1 से A10 को bold करता है। सबक: VBA में BCA104 C जैसे वही programming constructs हैं, variables (Dim), loops (For...Next), decisions (If...Then), बस अलग syntax। आपका programming ज्ञान सीधे transfer होता है; आप एक नई बोली सीख रहे हैं, सोचने का एक नया तरीक़ा नहीं। यही वजह है कि एक BCA student VBA तेज़ी से पकड़ता है।

Watch out

Marks कहाँ कटते हैं

यह न जानना कि VBA macros के पीछे की भाषा है, Alt+F11 से खुलती है, और एक macro एक Sub...End Sub procedure है। object model चूकना: आप Excel को objects (Range, Cells) और उनकी properties (.Value, .Font.Bold) के ज़रिए command करते हैं। और यह भूलना कि recorded macro editable VBA HAI। इस exam के लिए आपको VBA विशेषज्ञ होने की ज़रूरत नहीं, पर आपको Sub structure, Range/Cells objects, और यह कि programming constructs transfer होते हैं, पहचानना होगा।

Theory

Record, read, edit, repeat

VBA सीखने का सबसे तेज़ तरीक़ा एक loop है: एक छोटी क्रिया record कीजिए, Excel ने जो code लिखा उसे read कीजिए, एक चीज़ edit कीजिए, उसे run कीजिए। बाक़ी जिज्ञासा करती है, और आपकी BCA104 नींव मतलब logic पहले से समझ आती है। आगे, हम code को पीछे छोड़ते हैं दो data-power tools के लिए जिन्होंने आधुनिक Excel बदला: Power Query (गंदे data को अपने-आप साफ़ और जोड़ें) और Power Pivot। आगे: Power Query।

Summary

Key takeaways

  • VBA (Visual Basic for Applications) Excel macros के पीछे की programming भाषा है।
  • Alt+F11 VBA Editor खोलता है; एक macro एक Sub procedure है (Sub Name() ... End Sub)।
  • आप Excel को objects (Range, Cells) और उनकी properties (.Value, .Font.Bold) के ज़रिए command करते हैं।
  • Recorded macros पठनीय, editable VBA code पैदा करते हैं।
  • BCA104 के programming constructs (variables, For loops, If) सीधे VBA में transfer होते हैं।
  • याद रखने का hook: Excel objects को एक robot की तरह command करना, लक्षित कीजिए फिर एक property सेट कीजिए।

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Automation & Advanced Tools

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Introduction to VBA Editor, Basic VBA Concepts · Mastering Worksheet (SEC-01 option A) · Gri-Learn