जैक पूछता है:
मैं तालिकाओं, समान कॉलमों की संख्या, लेकिन हर बार अलग-अलग पंक्तियों की संख्या उत्पन्न कर रहा हूं। मैं एक मैक्रो में मेरी गणना की जाने वाली गणना करने के लिए अंतिम पंक्ति और अंतिम कॉलम की समस्या के बिना निर्धारित कर सकता हूं। अब उद्देश्य इस मैक्रो को तालिका में नाम देने की संभावना को जोड़ना है (प्रत्येक बार एक ही नाम के साथ), लेकिन मैक्रो में वर्कशीट से जुड़ी कोशिकाएं R1C1: RxCy हैं, मुझे नहीं पता कि रेंज कैसे लिखनी है आरसी प्रणाली के साथ अंतिम और अंतिम रूप (जो तालिका के अंतिम कॉलम और पंक्ति का प्रतिनिधित्व करते हैं) के मूल्यों का उपयोग करते हुए (मुझे पता नहीं है कि क्या यह संभव है)।
अधिकांश VBA प्रोग्रामर निम्नलिखित विधि का उपयोग करेंगे, जो Names.Add पद्धति का उपयोग करता है।
Sub Method1() LastRow = Cells(65536, 1).end(xlUp).row LastCol = Cells(1, 255).End(xlToLeft).column MyArea = "='" & ActiveSheet.Name & "'!R1C1:R" & LastRow & "C" & LastCol ActiveWorkbook.Names.Add Name:="TheData", RefersToR1C1:=MyArea End Sub
रेंज नाम निर्दिष्ट करने के लिए एक आसान तरीका है। निम्नलिखित चार कथन सभी समतुल्य हैं। अंतिम दो बेहद आसान हैं:
ActiveWorkbook.Names.Add Name:="TheData", RefersToR1C1:="=Sheet1!R1C1:R10C5" ActiveWorkbook.Names.Add Name:="TheData", RefersTo:="=Sheet1!A1:E10" Range("A1:E10").Name = "TheData" Cells(1, 1).Resize(10, 5).Name = "TheData"
जैक - मैं उपयोग के लिए अंतिम पंक्ति को अनुकूलित करूंगा:
Sub Method2() LastRow = Cells(65536, 1).end(xlUp).row LastCol = Cells(1, 255).End(xlToLeft).column Cells(1, 1).Resize(LastRow, LastCol).Name = "TheData" End Sub
मैंने इस शॉर्टकट को Bovey & Bullen's Excel 2002 VBA Programmer's Reference के रेंज नाम असाइन करने के लिए सीखा। इस पुस्तक का 2002 संस्करण 2000 संस्करण के आसपास हलकों को चलाता है। मेरे पैसे के लिए, किसी भी एक्सेल VBA प्रोग्रामर को अपने दाहिने हाथ में उस पुस्तक की आवश्यकता है। मेरी कॉपी डॉग-इयर है और कभी पहुंच से बाहर नहीं है।