मैं थोड़ी देर के लिए वीबीए सीख रहा हूं लेकिन एक समस्या है जिसका मैं सामना कर रहा हूं कि जब तक मुझे पता नहीं चला तब तक मैं इसका पता नहीं लगा पाया।
मैं वीबीए का उपयोग करके कॉलम का नाम देने में सक्षम होना चाहता हूं, इसलिए मैं इसे बाद में अन्य कोशिकाओं/कॉलम में संदर्भ कॉलम (इंडेक्स फ़ंक्शन का उपयोग करके) के रूप में उपयोग कर सकता हूं।
मुझे पता है कि तय किए गए कॉलम का नाम कैसे देना है। लेकिन वह नहीं है जिसकी मुझे तलाश है।
मेरी समस्या का उदाहरण:
इस महीने मैं कॉलम D
को TotalAmount
नाम दे रहा हूं। वीबीए कोड हो सकता है:
ActiveWorkbook.Names.Add Name:="TotalAmount", RefersToR1C1:="=Sheet1!C4"
मैं INDEX फ़ंक्शन का उपयोग करके अन्य कक्षों में उस कॉलम का उल्लेख करूंगा।
हालांकि, अगले महीने मैं कॉलम D
से ठीक पहले एक नया कॉलम (पिछले महीने की बिक्री मान लें) जोड़ रहा हूं। इसलिए अगले महीने मैं जिस नए कॉलम का नाम TotalAmount
रखना चाहता हूं, वह D
के बजाय कॉलम E
होगा।
मुझे पता है कि नया कॉलम जोड़ते समय कॉलम का नामकरण नहीं बदलना चाहिए और कॉलम E
स्वतः ही TotalAmount
कॉलम बन जाएगा। हालाँकि, मैं इस पर भरोसा नहीं कर सकता क्योंकि एक्सेल शीट अलग-अलग लोगों द्वारा एक्सेस की जाती है और हर कोई अपनी गणना कर रहा है।
तो मैंने यह भी कोशिश की (मुझे यकीन है कि यह बेवकूफ है लेकिन हे, मैं अभी भी एक नोब हूं) लेकिन यह काम नहीं किया :(
Sub Macro4()
Range("D1").Select
'(I can select the desired cell each month using the search function)
Dim i As Integer
i = ActiveCell.Column
ActiveWorkbook.Names.Add Name:="TotalAmount", RefersToR1C1:="=Sheet1!Ci"
End sub
इसलिए मैं बहुत आभारी रहूंगा यदि कोई मेरी मदद कर सकता है या इस विषय पर मेरा मार्गदर्शन कर सकता है।
2 जवाब
'i' एक वेरिएबल है इसलिए आप इसे कोट्स में इस्तेमाल नहीं कर सकते हैं। उद्धरणों में, यह सिर्फ 'i' है और इसका कोई मूल्य नहीं है। कोशिश करें ActiveWorkbook.Names.Add Name:="TotalAmount", RefersToR1C1:="=Sheet1!C" & i
सुनिश्चित नहीं है कि यह आपकी समस्या का समाधान करेगा हालांकि
आप के लिए सेल खोजने के लिए आप वीबीए प्राप्त कर सकते हैं:
Sub SetNamedRange()
Dim rng As Range
Set rng = ThisWorkbook.Worksheets("Sheet1").Range("A1:Z1").Find("TotalAmount")
ThisWorkbook.Names.Add Name:="TotalAmount", RefersToR1C1:=rng
End Sub
कोड A1:Z1
टेक्स्ट "Total Amount"
के लिए खोजता है और नामित श्रेणी को उस सेल में सेट करता है
संबंधित सवाल
नए सवाल
excel
केवल एक्सेल ऑब्जेक्ट्स या फ़ाइलों, या जटिल फॉर्मूला विकास के खिलाफ प्रोग्रामिंग पर प्रश्नों के लिए। यदि आप लागू हो तो आप Excel टैग को VBA, VSTO, C #, VB.NET, PowerShell, OLE स्वचालन और अन्य प्रोग्रामिंग संबंधी टैग और प्रश्नों के साथ जोड़ सकते हैं। सुपर उपयोगकर्ता पर एकल कार्यपत्रक कार्यों के लिए एमएस एक्सेल के बारे में सामान्य सहायता उपलब्ध है।