Excel Text to Number प्रारूप को परिवर्तित नहीं कर रहा है


0

मेरे पास एक्सेल में एक मैक्रो है जो पाठ को संख्या (मुद्रा) में एक कॉलम में बदलने की कोशिश कर रहा है।

कक्षों में मान इस प्रकार के "USD 8,765.43" जैसे दिखने वाले पाठ हैं, इसका उद्देश्य एक मुद्रा मूल्य होगा जो इस तरह दिखता है "$ 8.765,43"

इसलिए मेरे पास मूल रूप से यह मैक्रो है जो रिक्त स्थान को हटा देता है और फिर सब कुछ को बदलने के लिए इसे अपनी आवश्यकता के अनुसार देखता है और फिर सेल के प्रारूप को संख्या में बदल देता है।

कॉलम। ( "एच: एच") का चयन करें

चयन करें। क्या: = "", प्रतिस्थापन: = "", लुकआट: = xlPart, _ सर्चऑर्डर: = xlByRows, MatchCase: = गलत, सर्चफ़ॉर्मेट: = गलत, _ रिप्लेसमार्ट: = गलत

Selection.Replace What:="USD", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False

    Selection.Replace What:=",", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False

Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False

Selection.NumberFormat = "[$$-409]#,##0.00"

सभी परिवर्तन सभी ठीक किए गए हैं सिवाय इसके कि यह संख्या इस प्रकार दिखाई देती है: 8.765,43 लेकिन अन्य संख्याओं के साथ योग नहीं करता है और "मुद्रा" नहीं है UNTIL मैं सेल में प्रवेश करता हूं, और संख्या के अंत में "ENTER" कुंजी दबाएं , तो यह संख्या, बकाया राशि में परिवर्तित होता है और "$" चिन्ह दिखाई देता है।

धन्यवाद,

जवाबों:


1

"USD 8,765.43" में USD और संख्या के बीच एक रिक्त स्थान है, जो अभी भी अंत में होगा, और Excel को एक संख्या के रूप में पहचानने से रोक देगा।

हटाए जाने के लिए अपना पहला प्रतिस्थापन बदलें:

चयन करें। क्या: = "USD", प्रतिनिधि ...


यह भिक्षापात्र पर किया जाता है, कोड ठीक से चिपकाया नहीं गया है:
AlbertoPow

ठीक है ... मुझे लगता है कि मेरे पास एक समान मुद्दा था एक लंबे समय से पहले, एक्सेल को एहसास नहीं है कि इसे अब सेल के प्रदर्शन पर पुनर्विचार करना चाहिए। आप अपने लिए चयन का मूल्य निर्धारित करने का प्रयास कर सकते हैं, लेकिन यह मदद कर सकता है या नहीं।
अगंजू

क्या आपका लक्ष्य प्रारूप सही है? "#, ## 0.00"? क्या आपने नहीं लिखा कि आप "#। ## 0,00" [हजारों के लिए बिंदी, दशमलव के लिए अल्पविराम?]
अगंजू

आप सही वसीयत करते हैं, यह सही नहीं था, लेकिन मैंने इसे बदल दिया है और अभी भी काम नहीं कर रहा है। मान तब तक बना रहता है जब तक आप सेल में प्रवेश नहीं करते और ENTER दबाते हैं, मैंने एक Sendkey ENTER जोड़ने की कोशिश की है लेकिन यह या तो काम नहीं करता है क्योंकि आपको सेल में प्रवेश करने की आवश्यकता है और फिर ENTER दबाएँ।
अल्बर्टोपो

@AlbertoPow को selection.value = selection.valueइसे सही करना चाहिए।
काइल

0

अपने चयन में प्रत्येक सेल को 1 से गुणा करने का प्रयास करें। यह एक्सेल को स्वरूपों को पुनर्गणना और लागू करने के लिए मजबूर करता है:

Dim cell As Range 
For Each cell In Selection 
If Not IsError(cell) Then cell = val(cell) * 1 
Next cell

कोड के उस टुकड़े को अपने बाद ही रखें

चयन .NumberFormat = "[$ $ - 409] #, ## 0.00"


यह एक त्रुटि देता है रन-टाइम त्रुटि '13', सेल में मिसमैच टाइप करें = सेल * 1
AlbertoPow

1
जो दिखाता है कि सेल में अभी भी एक नंबर नहीं बल्कि एक टेक्स्ट है। सत्यापित करें कि क्या कक्ष में कोई अन्य वर्ण है - जब आप उस पर क्लिक करते हैं, तो ENTER दबाएँ नहीं, लेकिन कर्सर को बहुत शुरुआत में ले जाएँ, और फिर <कर्सर दाएं> के साथ बहुत अंत तक। देखो अगर वहाँ एक अतिरिक्त आंदोलन है, उदाहरण के लिए जब एक TAB चरित्र है या उस तरह कुछ फैंसी है। यदि हां, तो आपको उस एक को भी बदलने की आवश्यकता है।
अगंजू

"[$ $ - 409]" के बिना भी प्रयास करें - आपको इसकी आवश्यकता नहीं होनी चाहिए। यह एक स्थानीय कोड है, जिसे हेक्साडेसिमल में दिया गया है। यह निर्धारित करता है कि जब आप विभिन्न दिनांक समय प्रारूप कोड का उपयोग करते हैं, तो यह दिखाया जाता है - जो आप नहीं करते हैं।
अगंजू

@albertoPow अब वेल () फ़ंक्शन के साथ प्रयास करें। यह धर्मान्तरित है और किसी भी रिक्त या स्थान का ध्यान रखना चाहिए।
पीओ

धन्यवाद P.obertelli, आपके कोड ने बहुत अच्छा काम किया! यह पाठ से अब पूरी तरह से संख्या में रूपांतरण करता है
अल्बर्टोपॉव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.