मैं एक फ्रांसीसी लोकेल के साथ एक एक्सेल का भी उपयोग करता हूं, और अक्सर सीएसवी फाइलों के साथ इस समस्या का सामना करता हूं। जैसा कि दूसरों द्वारा समझाया गया है, फ्रांसीसी नंबर एक दशमलव विभाजक के रूप में कोमा का उपयोग करते हैं, और एक संख्या 123.45
को एक्सेल द्वारा एक पाठ के रूप में व्याख्या की जाती है।
इसे दरकिनार करने का सबसे तेज़ तरीका है, इसे बदलना .
है ,
। डेविड द्वारा सुझाए अनुसार, आप फाइंड / रिप्लेसमेंट के साथ इसे जल्दी कर सकते हैं।
उन लोगों के लिए जो इस समस्या का सामना अक्सर करते हैं, आप इस कोड के टुकड़े ( इस उत्तर से अनुकूलित ) का उपयोग कर सकते हैं , इसे अपनी व्यक्तिगत कार्यपुस्तिका में सहेज सकते हैं और इसे रिबन में एक बटन पर असाइन कर सकते हैं:
Sub Comas2Dots()
Application.ScreenUpdating = False
If (MsgBox("Do you want to replace comas by dots?", vbOKCancel) = vbOK) Then
Const sTEMPCOMMA = "|comma|"
Const sTEMPDOT = "|dot|"
Const sCOMMA = ","
Const sDOT = "."
If TypeName(Selection) = "Range" Then
With Selection
.Replace sCOMMA, sTEMPCOMMA, xlPart
.Replace sDOT, sTEMPDOT, xlPart
.Replace sTEMPCOMMA, sDOT, xlPart
.Replace sTEMPDOT, sCOMMA, xlPart
End With
End If
End If
Application.ScreenUpdating = True
End Sub
आशा है कि लोगों को इस अनावश्यक समस्या का सामना करने में मदद करता है!
अतिरिक्त प्रलेखन
- रिबन को मैक्रो कैसे असाइन करें
- अपने मैक्रोज़ को एक व्यक्तिगत मैक्रो वर्कबुक में कॉपी करें
,
दशमलव विभाजक है, नहीं.
। इसलिए जैसे मान123.45
ग्रंथ हैं, और उन्हें सारांशित नहीं किया जा सकता है। आपके द्वारा सुझाए गए 1 से गुणा करना इस स्थिति में भी काम नहीं करेगा, क्योंकि यह "पाठ के रूप में संग्रहीत संख्या" स्थिति नहीं है, बल्कि "पाठ के रूप में संग्रहीत पाठ" स्थिति है। यदि आप डॉट्स को कोमा से प्रतिस्थापित करते हैं, तो एक्सेल ग्रंथों को वास्तविक संख्या में बदल देगा (यह केवल फ्रांसीसी लोकेल पर लागू होता है)।