VBA पाठ - VBA एक्सेल में टेक्स्ट फंक्शन का उपयोग कैसे करें? (उदाहरण सहित)

एक्सेल में टेक्स्ट एक वर्कशीट फ़ंक्शन है लेकिन इसका उपयोग VBA में भी किया जा सकता है, इसके साथ रेंज प्रॉपर्टी का उपयोग करते समय, इस फंक्शन के लिए फंक्शन वर्कशीट फंक्शन के समान होता है और इसमें उतने ही तर्क होते हैं, जितने मान होने चाहिए परिवर्तित और एक निर्दिष्ट संख्या प्रारूप।

एक्सेल VBA टेक्स्ट फंक्शन

TEXT वर्कशीट के साथ उपलब्ध फंक्शन है, लेकिन दुर्भाग्य से, यह एक्सेल VBA में बिल्ट-इन फंक्शन नहीं है। इस फ़ंक्शन तक पहुंचने के लिए, हमें VBA में वर्कशीट फ़ंक्शन क्लास ऑब्जेक्ट का उपयोग करने की आवश्यकता है। एक्सेल में पाठ फ़ंक्शन एक मान को एक निर्दिष्ट संख्या प्रारूप में परिवर्तित करता है।

इस फ़ंक्शन के साथ समस्याओं में से एक तर्क के रूप में। जब भी हम VBA वर्कशीट फंक्शन क्लास का उपयोग करते हैं, तो हमें अपनी वर्कशीट में क्लियर-कट सिंटैक्स देखने को नहीं मिलता है। यह सिर्फ "Arg1" और "Arg2" कहता है।

  • Arg1 वह मान है जिसे हमें फ़ॉर्मेटिंग को लागू करने की आवश्यकता है।
  • Arg2 प्रारूपण है जिसे हमें लागू करने की आवश्यकता है, और हमें प्रारूपण कोड निर्दिष्ट करने की आवश्यकता है।

एक्सेल में VBA टेक्स्ट फंक्शन के उदाहरण

नीचे एक्सेल VBA टेक्स्ट फंक्शन के उदाहरण दिए गए हैं।

उदाहरण 1

मुझे VBA एक्सेल में TEXT का एक सरल उदाहरण दिखाते हैं। विजुअल बेसिक में नीचे दिए गए कोड को देखें।

कोड:

Sub Text_Example1 () Dim FormattingValue स्ट्रिंग के रूप में Dim FormattingResult स्ट्रिंग फ़ॉर्मेटिंगValue = 0.564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult के रूप में

सबसे पहले मैंने VBA में एक स्ट्रिंग के रूप में दो चर घोषित किए हैं।

स्ट्रिंग के रूप में डिम फ़ॉर्मेटिंगवैल्यू

पहले चर के लिए, मैंने प्रारूपण संख्या निर्दिष्ट की है, जिसे हमें प्रारूपित करने की आवश्यकता है।

स्वरूपणवस्तु = 0.564

अब दूसरे वेरिएबल के लिए, मैंने TEXT फंक्शन को असाइन किया है।

FormattingResult = WorksheetFunction.Text (फ़ॉर्मेटिंग वेल, "hh: mm: ss AM / PM")

यदि आप निरीक्षण करते हैं, तो मैंने समय के प्रारूपण को लागू किया है, अर्थात, "hh: mm: ss AM / PM।"

फिर अंत में, मैंने परिणाम दिखाने के लिए एक VBA संदेश बॉक्स लागू किया है।

MsgBox FormattingResult

जब मैं कोड चलाता हूं तो TEXT फ़ंक्शन 0.564 नंबर पर समय प्रारूप लागू करेगा और नीचे दिए गए परिणाम को प्रदर्शित करेगा।

इसलिए, हमें " 01:32:10 PM " के रूप में समय मिला ।

उदाहरण # 2

दिनांक स्वरूप उदाहरण के समान, हमने इस उदाहरण में कुछ छोटे बदलाव किए हैं। नीचे कोड है।

कोड:

Sub Text_Example2 () स्ट्रिंग फ़ॉर्मेटिंग के रूप में Dim FormattingValue, स्ट्रिंग फ़ॉर्मेटिंगValue = 43585 FormattingResult = WorksheetFunction.Text (फ़ॉर्मेटिंगValue, "DD-MMM-YYYY") MsgBox FormattingResult समाप्ति उप स्ट्रिंग के रूप में।

पिछले कोड से, मैंने स्वरूपण मान को 0.565 से 43585 में बदल दिया है और स्वरूपण शैली को "DD-MMM-YYYY" के रूप में बदल दिया है।

यह दिनांक के रूप में फ़ॉर्मेटिंग को 43585 नंबर पर लागू करेगा, और परिणाम निम्नानुसार है।

कक्षों पर स्वरूपण लागू करें

हमने सरल उदाहरण देखे हैं। अब, एक कार्यपत्रक में कोशिकाओं के साथ काम करने का तरीका देखें। इस उदाहरण के लिए, नीचे दिए गए डेटा को देखें।

इन सभी नंबरों के लिए, हमें समय प्रारूप लागू करने की आवश्यकता है। यह कोड प्रारूपण लागू होगा।

कोड:

Sub Text_Example3 () Dim k As Integer For k = 1 To 10 Cells (k, 2) .Value = WorksheetFunction.Text (Cell (k, 1) .Value, "hh: mm: ss AM / PM")) अगला k End। विषय

यह कोड 10 कोशिकाओं के माध्यम से लूप करेगा और नीचे प्रारूपण लागू करेगा।

इस तरह, VBA TEXT फ़ंक्शन का उपयोग करके, हम कोशिकाओं को संख्या स्वरूपण लागू कर सकते हैं।

दिलचस्प लेख...