मैं एक वीबीए मॉड्यूल विकसित कर रहा हूं। मैं एक शब्दकोश की सामग्री को एक शीट में चिपका रहा हूं और कुछ मान स्वतः स्वरूपित हो जाते हैं।

मैंने एक्सेल को ऑटो फॉर्मेटिंग डेटा से कैसे रखा जाए, इस पर कई लेख देखे हैं।

मैंने चिपकाने से पहले "प्रारूप कक्ष" के माध्यम से सामान्य, पाठ, और (प्रयास किए गए) कस्टम स्वरूपों (जैसे #" A") के माध्यम से कक्षों को स्वरूपित करने का प्रयास किया है।

साथ ही, मैंने चिपकाने से पहले टेक्स्ट-टू-कॉलम के माध्यम से कक्षों को स्वरूपित करने का भी प्रयास किया है। मैंने यहां सामान्य और पाठ की कोशिश की।

अंत में, मैंने Selection.NumberFormat = "General" और Selection.NumberFormat = "Text" के साथ-साथ Selection.TextToColumns Destination:=Range("B:B"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=False, Space:=False, Other:=False, OtherChar _ :="=", FieldInfo:=Array(1, 2), TrailingMinusNumbers:=True का उपयोग करने का प्रयास किया है

मैंने ऑटो फॉर्मेटिंग होने के बाद फाइंड एंड रिप्लेस करने की भी कोशिश की है। उदाहरण के लिए, चिपकाने और ऑटो स्वरूपण के बाद मैं "1:00:00 AM" को "1 Amps" और फिर "Amps" को "A" में बदलने के लिए एक ढूँढें और बदलें। यह देखना था कि क्या मैं चयन में आंशिक स्ट्रिंग को जो चाहता हूं उसके साथ बदल सकता हूं। यह भी काम नहीं आया।

प्रभावित मान एम्परेज रेटिंग के लिए हैं। उदाहरण के लिए, मैं "1 एम्प" को "1 ए" में बदलने के लिए फाइंड एंड रिप्लेस कर रहा हूं।

कोई फर्क नहीं पड़ता कि मैं क्या करता हूं यह ऑटो स्वरूपण को "1:00:00 पूर्वाह्न" जैसे समय तक रखता है।

0
Frosty_Fraz 12 फरवरी 2021, 20:15
1
क्या आपने सेल को पॉप्युलेट करने से पहले सेल के नंबर फॉर्मेट को टेक्स्ट में सेट करने की कोशिश की है? VBA कुछ इस तरह होगा Range("A1").NumberFormat = "@"
 – 
basodre
12 फरवरी 2021, 20:58
वह काम किया! धन्यवाद @basodre! मैं वीबीए में इतना कुशल नहीं हूं कि यह जान सकूं कि इसे ठीक करना इतना आसान होगा। तो, मैंने इसे देखा और "@" का अर्थ टेक्स्ट है। यह काम क्यों करता है और टेक्स्ट के रूप में स्वरूपण के संबंध में मैंने जो कुछ भी कोशिश की है वह काम नहीं करता है? साथ ही, मुझे लगता है कि यह मेरी सभी शब्दकोश कुंजियों और वस्तुओं को ले जाएगा और किसी भी ऑटो स्वरूपण को लागू नहीं करेगा। क्या वो सही है?
 – 
Frosty_Fraz
12 फरवरी 2021, 21:13
टेक्स्ट केवल प्रविष्टि को टेक्स्ट के ब्लॉक के रूप में मानता है, ठीक वैसे ही। जब आप कोई भिन्न प्रारूप चुनते हैं, तब भी यह एक संख्या होती है और सिस्टम यह निर्धारित करने का प्रयास करता है कि यह किस प्रकार का होना चाहिए।
 – 
basodre
12 फरवरी 2021, 21:35
यह समझ में आता है, लेकिन क्या आप कह रहे हैं कि टेक्स्ट-टू-कॉलम जैसा कुछ केवल एक अलग प्रारूप चुनता है और सेल के मेटाडेटा या (बैक-एंड) स्वरूपण को नहीं बदलता है? क्योंकि मैंने टेक्स्ट-टू-कॉलम के साथ-साथ .NumberFormat प्रॉपर्टी का उपयोग करते समय टेक्स्ट चुना था।
 – 
Frosty_Fraz
12 फरवरी 2021, 23:29
मैं आपकी टिप्पणी को उत्तर के रूप में चिह्नित नहीं कर सकता। मैं आपको इसका श्रेय देना चाहता हूं ताकि यदि आप इसे इस तरह से पोस्ट कर सकें जिससे मैं इसे उत्तर के रूप में चिह्नित कर सकूं तो यह बहुत अच्छा होगा! शुक्रिया!
 – 
Frosty_Fraz
22 फरवरी 2021, 20:50

1 उत्तर

सबसे बढ़िया उत्तर

बस सेल के नंबर फॉर्मेट को टेक्स्ट पर सेट करें, और इससे आपकी समस्या का समाधान हो जाएगा।

क्या आपने सेल को पॉप्युलेट करने से पहले सेल के नंबर फॉर्मेट को टेक्स्ट में सेट करने की कोशिश की है? वीबीए कुछ इस तरह होगा

Range("A1").NumberFormat = "@"
0
basodre 22 फरवरी 2021, 21:30