/ एक्सेल सेल की VBA हैंडलिंग जिसमें टेक्स्ट और फॉर्मूला-वैल्यू दोनों शामिल हैं - एक्सेल, वीबीए, एक्सेल-वाबा, मैक्रोज़

एक्सेल सेल के वीबीए हैंडलिंग जिसमें पाठ और फॉर्मूला-वैल्यू - एक्सेल, वीबीए, एक्सेल-वीबीए, मैक्रोज़ दोनों शामिल हैं

मैंने एक्सेल और I के लिए VBA के साथ काम करना शुरू कियाएक समस्या में भाग गया, जिसे मैं इसका समाधान नहीं ढूंढ सकता हूं। मैं एक मैक्रो बनाना चाहता हूं जो एक शीट की प्रतिलिपि बनाता है और कॉपी का नाम बदलकर सेल बी 8 में निर्दिष्ट किया जाता है। अब, सेल बी 8 में एक स्ट्रिंग और एक मूल्य (आधारित) है। एक सूत्र पर) नीचे सचित्र है।

सेल बी 8 की सामग्री

यहां छवि विवरण दर्ज करें

नई शीट के नाम के रूप में नाम (स्ट्रिंग और संख्या) का उपयोग करने के लिए मुझे वीबीए कैसे मिलेगा?

Sub NewFunction()

Dim counter As Integer

Sheets(1).Copy After:=Sheets(1)

ActiveSheet.name = Sheets(1).Range("B8").CStr

End Sub

अग्रिम में धन्यवाद!

उत्तर:

उत्तर № 1 के लिए 1

एक के लिए, आप शीट नाम में "/" का उपयोग नहीं कर सकते। यह त्रुटि हो सकती है, लेकिन एक्सेल सिर्फ इसे अनदेखा करेगा।

दूसरे, आप गलत शीट पर नाम बदल रहे हैं। आपने एक नई शीट जोड़ी और फिर पुरानी शीट को संदर्भित किया।

तीसरा, कोई उपयोग करने की आवश्यकता नहीं है। सेल के मूल्य के रूप में .Str आप क्या चाहते हैं, और चूंकि यह डिफ़ॉल्ट संपत्ति है, इसलिए उपयोग करने की कोई आवश्यकता नहीं है। या तो उपयोग करें।


जवाब के लिए 0 № 2

आप लगभग वहाँ थे

Sheets(1).Copy After:=Sheets(1)
ActiveSheet.name = Replace(Replace(Replace(Replace(Range("B8"), "", "-"), "/", "-"), "?", "-"), "*", "-")

कहा पे

  • बाद Copy() उसकि विधि Worksheet ऑब्जेक्ट, नई वर्कशीट बन जाती है सक्रिय एक

  • वीबीए Replace() तरीका chain आपको आश्वस्त करना है कि आपके नए वर्कशीट के नाम के लिए निषिद्ध वर्णों का उपयोग नहीं किया जा रहा है

संभव डुप्लिकेट नामों का मुद्दा बना हुआ है, जिसे एक विशिष्ट फ़ंक्शन के माध्यम से संभाला जा सकता है जिसे आप खोज सकते हैं यदि आप खोजते हैं