संदर्भ के आधार पर, आपके पास कुछ विकल्प हैं।
1. एक निरंतर का उपयोग करें
आप अपने कोड के शीर्ष पर एक स्थिरांक की घोषणा कर सकते हैं, फिर आपको केवल उस बिंदु में परिवर्तन करने की आवश्यकता है, जिससे वह उस बिंदु को प्रभावित कर सके जहां निरंतर उपयोग किया जाता है। उपयोग करने के बजाय:
Set shtSheet = sheets("Sheet1")
आप उपयोग कर सकते हैं:
Set shtSheet = Sheets(csSource)
भर।
एक निरंतर उपयोग की घोषणा करें Const <name> as <type> = <value>
Sub WorksheetVar()
Const csSheetName As String = "Test"
Sheets(csSheetName).Range("A1").Value = 1
Sheets(csSheetName).Range("A2").Value = 2
Sheets(csSheetName).Range("A3").Value = 3
End Sub
यह कोड में मूल्य निर्धारित करने की आवश्यकता से दूर नहीं होता है, लेकिन यह आपको नाम का उपयोग किए जाने वाले सभी स्थानों के लिए कोड के माध्यम से शिकार करने के बजाय इसे और अधिक आसानी से अपडेट करने की अनुमति देता है।
2. सूचकांक संख्या का उपयोग करें
हर वर्कशीट में एक नंबर के साथ-साथ एक नाम भी होता है, आम तौर पर टैब्स में वर्कशीट की स्थिति। भले ही शीट का नाम बदल दिया गया हो, लेकिन टैब क्रम बदलने पर भी यह बदल जाएगा।
3. एक चर का उपयोग करें
आप एक सेल, एक अन्य मैक्रो, एक इनपुट बॉक्स, आदि से एक चर प्राप्त कर सकते हैं। आप इसका उपयोग अपने कोड में वर्कशीट के नाम को पास करने के लिए कर सकते हैं।
4. शीट के ऑब्जेक्ट नाम का उपयोग करें
वर्कशीट के प्रदर्शित नाम से स्वतंत्र, प्रत्येक शीट में एक वस्तु का नाम होता है, आम तौर पर इसका नाम तब था जब इसे पहली बार बनाया गया था। यदि आप बाईं ओर प्रोजेक्ट एक्सप्लोरर देखते हैं, तो आप देखेंगे कि प्रत्येक शीट को 'शीट 1 (शीट 1)' के रूप में सूचीबद्ध किया गया है। यदि आपने शीट 1 का नाम बदलकर परीक्षण किया है, तो आप देखेंगे Sheet1 (Test)
। आप शीट को संदर्भित करने के लिए उस अपरिवर्तनीय ऑब्जेक्ट नाम का उपयोग कर सकते हैं, जैसे कि यह एक चर था।
Sub Sheetname()
Sheet1.Range("A1").Value = 1
Sheet1.Range("A2").Value = 2
End Sub
व्यक्तिगत रूप से मुझे यह तरीका पसंद नहीं है, क्योंकि यह पता लगाना आसान है कि कौन सी शीट कौन सी है, लेकिन यह आपके लिए एक विकल्प है।
Workbook.Worksheets(1)
), लेकिन यह भी बदल सकता है।