2011-08-03 8 views
13

मुझे संख्याओं की सूची पर अग्रणी शून्य रखने की आवश्यकता है। संख्या (इस तरह जुड़ जाते हैं एक पाश में है, लेकिन यह सिर्फ एक का उपयोग कर उदाहरण है (1, 1):वर्कशीट में स्वरूपित वीबीए में एक्सेल सेल वैल्यू कैसे प्राप्त करें?

Set cel = Sheet.worksh.Cells(1, 1) 
cel.ColumnWidth = 10 
cel.Value = e.Name 
cel.NumberFormat = "0000" 

कहाँ e.Name संख्या, "0720" की तरह कुछ कार्यपत्रक पर यह प्रदर्शित करता है बस। ठीक, लेकिन अगर मैं कुछ इस तरह करते हैं:

Msgbox Sheet.worksh.Cells(1, 1).Value 

मैं "720" मैं इसे "0720" होने की जरूरत है, मुझे पता है मैं Len() का उपयोग कर जांच कर सकता है और शून्य कि जिस तरह से जोड़ने के लिए, लेकिन मैं सोच रहा था। यदि रेंज ऑब्जेक्ट के साथ अधिक प्रत्यक्ष दृष्टिकोण था जो मेरे लिए यह करेगा।

उत्तर

12

उपयोग यह:

Msgbox Format(Sheet.worksh.Cells(1,1).Value, "0000") 
18

आप अपने पाठ के प्रतिनिधित्व के साथ एक संख्या भ्रमित कर रहे हैं।

आप .Text संपत्ति चाहते हैं, .Value नहीं, लेकिन फिर you might have problems with it

+6

टेक्स्ट प्रॉपर्टी के साथ सावधान। यदि सेल इस "####" जैसा दिखता है तो यह आपको वापस शूट करने जा रहा है। लांस रॉबर्ट्स की विधि का उपयोग करना सुरक्षित है। अनुभव से बस एक चेतावनी। – Jon49

7

और भी बेहतर, आप सुनिश्चित करें कि क्या स्वरूप है नहीं कर रहे हैं, तो:

MsgBox स्वरूप (Sheet.worksh.Cells (1,1) .Value, शीट। वर्कश। कैल्स (1,1)। नम्बरफॉर्मैट)

+0

यह संख्या के रूप में अपेक्षाकृत काम नहीं करता है यदि संख्याफॉर्मेट सामान्य है - प्रारूप ("397", "सामान्य") को कॉल करते समय आपको अपने परिणाम के रूप में "Ge0eral" मिलता है। – nvuono

+0

क्या समस्या है कि 397 को स्वरूप() को टेक्स्ट के रूप में प्रदान किया गया है, संख्या नहीं? –

संबंधित मुद्दे