Introduction to Object Assignment in Excel VBA in Hindi
Makhanlal Chaturvedi University / BCA / VBA programming
Object Assignment in Excel VBA in Hindi
Introduction to Object Assignment in Excel VBA in Hindi
What is Object in Excel VBA
Excel VBA में "Object" किसी भी ऐसी चीज़ को कहा जाता है जिसे हम Excel में Control कर सकते हैं, जैसे कि Workbook, Worksheet, Range, Chart, आदि। ये सभी चीजें Excel के अंदर काम करने वाले अलग-अलग हिस्से होते हैं जिन्हें हम VBA कोड से कंट्रोल कर सकते हैं।
जैसे किसी इंसान का नाम, पता और मोबाइल नंबर होता है, वैसे ही एक Object के भी Properties और Methods होते हैं। उदाहरण के लिए, Worksheet एक Object है और उसका Name एक Property है, वहीं Activate एक Method है।
Why Object Assignment is Needed
- Object को बार-बार एक्सेस करने की जरूरत होती है
- Code को Simple और Short बनाना
- Execution Speed बढ़ाना
- Maintainability आसान बनाना
अगर आप हर बार Worksheets("Sheet1").Range("A1") जैसे लंबा कोड लिखते हैं तो कोड Complex हो जाता है। इसलिए हम उसे एक Variable में Assign करके Use करते हैं।
How to Use 'Set' Keyword for Assigning Objects in Hindi
Use of Set Keyword
VBA में जब आप किसी Object (जैसे Worksheet, Workbook, Range) को किसी Variable में Store करते हैं, तो आपको Set Keyword का उपयोग करना पड़ता है।
Variable एक Container की तरह होता है जिसमें आप कोई Object temporarily Store कर सकते हैं। पर ध्यान रहे, जब भी आप किसी Object को Assign करें तो Set लगाना ज़रूरी है।
Syntax of Set Keyword
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
Without Set Error आता है
अगर आप Set Keyword को छोड़ देंगे तो आपको "Object Required" जैसा Error मिलेगा, क्योंकि Excel समझेगा कि आप Value assign कर रहे हैं न कि Object।
Simple Example
Sub ExampleSet()
Dim mySheet As Worksheet
Set mySheet = ThisWorkbook.Sheets("Data")
mySheet.Range("A1").Value = "Hello"
End Sub
Assigning Workbook, Worksheet, and Range Objects in Hindi
1. Workbook Object Assignment
जब आप Excel में किसी Workbook को बार-बार Access करना चाहते हैं तो आप उसे एक Variable में Assign कर सकते हैं:
Dim wb As Workbook
Set wb = Workbooks("SalesData.xlsx")
2. Worksheet Object Assignment
Worksheet को Assign करने से आपका कोड ज़्यादा readable और छोटा हो जाता है:
Dim ws As Worksheet
Set ws = wb.Sheets("Report")
3. Range Object Assignment
Range को Object Variable में Assign करने से आप बहुत आसानी से Cell को Access कर सकते हैं:
Dim rg As Range
Set rg = ws.Range("A1:B10")
rg.Font.Bold = True
4. Multiple Assignments in One Program
Sub AssignObjects()
Dim wb As Workbook
Dim ws As Worksheet
Dim rg As Range
Set wb = ThisWorkbook
Set ws = wb.Sheets("Sheet1")
Set rg = ws.Range("A1:A5")
rg.Value = "Assigned"
End Sub
5. Table for Object Examples
| Object Type | Declaration | Assignment Example |
|---|---|---|
| Workbook | Dim wb As Workbook | Set wb = Workbooks("MyFile.xlsx") |
| Worksheet | Dim ws As Worksheet | Set ws = wb.Sheets("Sheet1") |
| Range | Dim rng As Range | Set rng = ws.Range("A1:A10") |
Benefits of Assigning Objects for Performance in Hindi
1. Code Readability में सुधार
- जब आप Object को Assign करते हैं, तो कोड आसान और साफ दिखता है।
- कोई नया व्यक्ति भी कोड को पढ़कर समझ सकता है।
2. Execution Fast होता है
- हर बार Excel को Worksheet या Range ढूंढ़ने की जरूरत नहीं होती
- क्योंकि Variable में पहले से वो Object Store होता है
3. कम Errors होते हैं
- अगर आप बार-बार Worksheet का नाम लिखते हैं, तो Typing Mistake से Error हो सकता है
- Object Assign करके ये Problem Solve होती है
4. Maintainability आसान
- मान लीजिए Sheet का नाम बदलना है, तो सिर्फ एक जगह बदलना पड़ेगा
- Varible Use करने से Future में बदलाव आसान हो जाते हैं
5. Memory Efficient
Excel में हर बार नया Object Access करने से Resources Use होते हैं। लेकिन Variable में Store करके आप उसी Object को Reuse कर सकते हैं जिससे Memory Usage कम होती है।
6. Debugging में Help मिलती है
- अगर आप Code में Breakpoint लगाते हैं, तो Object Variables को Immediate Window में देखकर उनका Status जान सकते हैं
7. Looping में Fast Processing
Sub FastLoop()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Data")
Dim i As Integer
For i = 1 To 100
ws.Cells(i, 1).Value = i
Next i
End Sub
अगर हर बार ThisWorkbook.Sheets("Data") लिखते तो Code Slow होता, लेकिन एक बार Assign करने से Process बहुत Fast हो जाता है।
Summary Table of Advantages
| Advantage | Description |
|---|---|
| Readable Code | Code समझना और पढ़ना आसान होता है |
| Less Error | बार-बार टाइप करने से बचाव होता है |
| Better Performance | Execution Time कम होता है |
| Easy Debugging | Variables की Value देखकर जांच आसान होती है |
| Easy Maintenance | Sheet या Range नाम बदलने पर सिर्फ एक बार बदलाव करना पड़ता है |
FAQs
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")