Notes in Hindi

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

Excel VBA में Object Assignment का मतलब होता है किसी Excel Object जैसे Workbook, Worksheet या Range को एक Variable में Store करना ताकि हम उसे आसानी से बार-बार इस्तेमाल कर सकें।
Set keyword का उपयोग तब किया जाता है जब हम किसी Object को Variable में Assign करते हैं। यह बताता है कि हम कोई Object assign कर रहे हैं, न कि कोई simple value।
आप पहले एक Variable declare करते हैं और फिर Set keyword का उपयोग करके उस Worksheet को assign करते हैं। उदाहरण: Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
इससे आपका code readable, fast और maintainable बनता है। आप एक ही Object को बार-बार आसानी से इस्तेमाल कर सकते हैं और performance भी बेहतर होती है।
नहीं, Range एक Object है और उसे Assign करते समय Set keyword जरूरी होता है। बिना Set के error आएगा – “Object required”.
Value Assignment में आप numbers या strings को assign करते हैं और इसमें Set keyword नहीं लगता। Object Assignment में आप Excel Objects assign करते हैं और इसके लिए Set keyword का उपयोग जरूरी होता है।

Please Give Us Feedback