2011-11-25 15 views
39

का उपयोग कर टेक्स्ट में सेल का प्रारूप कैसे बदलें, मेरे पास एक्सेल शीट में "अवधि" कॉलम है। इसका सेल प्रारूप हमेशा — बदलता है, मैं अवधि को सेकंड से सेकंड में कनवर्ट करना चाहता हूं, लेकिन सेल स्वरूपण के कारण यह हमेशा मुझे अलग-अलग उत्तर देता है।वीबीए

मैं सोच रहा था कि रूपांतरण करने से पहले मैं उस सेल प्रारूप को पाठ में परिवर्तित कर सकता हूं ताकि वह टेक्स्ट मान के रूप में विचार करे और इसे स्वत: प्रारूपित करने का प्रयास न करें।

वर्तमान में मैं सभी डेटा को नोटपैड में कॉपी कर रहा हूं और फिर इसे पिछले सभी प्रारूपों को हटाने के लिए Excel शीट पर वापस सहेज रहा हूं। वीबीए का उपयोग कर पाठ में सेल के स्वरूपण को स्वचालित करने का कोई तरीका है?

+3

"किसका सेल प्रारूप हमेशा बदलता है" ?? कृपया हमें एक उदाहरण दिखाएं। –

उत्तर

72

अपने सीधे सवाल का जवाब करने के लिए, यह है:

Range("A1").NumberFormat = "@" 

या

Cells(1,1).NumberFormat = "@" 

हालांकि, मैं क्या आप वास्तव में प्रदर्शित होते देखना चाहते करने के लिए प्रारूप में बदलाव करने का सुझाव। यह आपको सेल में डेटा प्रकार को बनाए रखने और डेटा को कुशल बनाने के लिए आसानी से सेल सूत्रों का उपयोग करने की अनुमति देता है।

7

वैसे यह आपके प्रारूप को टेक्स्ट में बदलना चाहिए।

Worksheets("Sheetname").Activate 
Worksheets("SheetName").Columns(1).Select 'or Worksheets("SheetName").Range("A:A").Select 
Selection.NumberFormat = "@" 
+16

नंबरफॉर्मैट को बदलने से पहले सक्रिय करने या चयन करने की कोई आवश्यकता नहीं है - केवल शीट्स (1) जैसे कुछ का उपयोग करें। कॉलम (1) .NumberFormat = "@" – aevanko

2

एक बिंदु: सेल में मूल्य लोड करने से पहले आपको नंबरफॉर्मेट संपत्ति सेट करनी होगी। मेरे पास नौ अंकों का नंबर था जो अभी भी 9.14E + 08 के रूप में प्रदर्शित होता है जब सेल लोड होने के बाद नंबरफॉर्मैट सेट किया गया था। दिखाई दिया मूल्य लोड करने से पहले गुण को सेट संख्या के रूप में मैं चाहता था सीधे पाठ

या के रूप में,:

आपको पहले एक autofit कोशिश की जा सकी।
एक्सेल_ओबीजे। कॉलम ("ए: वी")। EntireColumn.AutoFit