एक्सेल में मिलीसेकंड प्रदर्शित करें


122

मैं एक्सेल मैक्रो में मिलीसेकंड प्रदर्शित करने की कोशिश कर रहा हूं। मेरे पास पूर्णांकों का एक स्तंभ है जो मिलीसेकंड में टाइमस्टैम्प हैं (जैसे 28095200 7: 48: 15.200 बजे हैं), और मैं इसके बगल में एक नया कॉलम बनाना चाहता हूं जो एक रनिंग औसत रखता है और एक hh:mm:ss.000प्रारूप में समय प्रदर्शित करता है ।

 Dim Cel As Range
 Set Cel = Range("B1")
 temp = Application.Average(Range("A1:A2")) / 1000
 ms = Round(temp - Int(temp), 2) * 1000
 Cel.Value = Strings.Format((temp / 60 / 60 / 24), "hh:mm:ss") _
                & "." & Strings.Format(ms, "#000")

यह केवल सेल में "mm: ss.0" प्रदर्शित करता है। फिर भी जब मैं सेल पर क्लिक करता हूं, तो यह सूत्र पट्टी में "hh: mm: ss" दिखाता है। घंटे क्यों गायब हैं? मैं घंटे, मिनट, सेकंड और मिलीसेकंड कैसे दिखा सकता हूं?

जवाबों:


217

सेल पर राइट क्लिक करें B1और फॉर्मेट सेल चुनें । में कस्टम , पाठ लेबल वाले बॉक्स में निम्नलिखित डाल प्रकार :

[h]:mm:ss.000 

इसे कोड में सेट करने के लिए, आप कुछ ऐसा कर सकते हैं:

Range("A1").NumberFormat = "[h]:mm:ss.000"

आपको वह देना चाहिए जो आप खोज रहे हैं।

नोट: विशेष रूप से स्वरूपित फ़ील्ड में अक्सर यह आवश्यक होता है कि स्तंभ की चौड़ाई स्वरूपित पाठ की संपूर्ण सामग्री के लिए पर्याप्त चौड़ी हो। अन्यथा, पाठ प्रदर्शित होगा ######


वाह! लेकिन क्या कोई ऐसा तरीका है जो मैं कोड में कर सकता हूं? अब हर बार जब मैं मैक्रो चलाता हूं, तो स्वरूपण रीसेट हो जाता है। (क्योंकि मैं मैक्रो में शीट को हटा रहा हूं और फिर से बना रहा हूं।) Cel.EntireRow.NumberFormat = "[h]: mm: ss.000" लेकिन यह सिर्फ मुझे सेल में "######" दिया।
एवलिन

@ ईविलिन - 3 चीजें: 1) मैंने उस कोड को जोड़ा है जिसे आपको संख्या प्रारूप सेट करने की आवश्यकता है। 2) सुनिश्चित करें कि आपका कॉलम पूरे स्वरूपित पाठ को फिट करने के लिए पर्याप्त चौड़ा है। ऊपर मेरा नोट देखें। 3) गिल्बर्ट देखें जवाब और के उपयोग पर ध्यान दें 3में Roundकार्य करते हैं। यह सुनिश्चित करता है कि आपको सिर्फ 2 के बजाय 3 दशमलव स्थान मिलेंगे
बेन मैककॉर्मैक

आह! तुम सही हो। मुझे सिर्फ कॉलम को चौड़ा करने की जरूरत थी। इसके अलावा, मैं केवल इस मामले में 2 की सटीकता चाहता था। मैं सिर्फ इसके लिए प्रारूपित होना चाहता था 3. मदद के लिए बहुत बहुत धन्यवाद!
एवलिन

25
मैंने बस निम्नलिखित की खोज की और इसे साझा करना चाहता था यदि अन्य लोग भी इसी समस्या का अनुभव करते हैं: यदि आपका विंडोज / एक्सेल जर्मनी के लिए कॉन्फ़िगर किया गया .है , तो इसे प्रतिस्थापित किया जाना चाहिए ,, जैसे संख्याओं में दशमलव स्थानों के लिए। अन्यथा एक्सेल शिकायत करेगा कि यह एक मान्य प्रारूप नहीं है। तो, यह होना चाहिए[h]:mm:ss,000
gehho

6

मैंने एक्सेल 2007 में खोजा है, यदि परिणाम एक एम्बेडेड क्वेरी से एक तालिका है, तो ss.000 काम नहीं करता है। मैं क्वेरी परिणाम (SQL सर्वर प्रबंधन स्टूडियो से) पेस्ट कर सकता हूं, और समय को ठीक कर सकता हूं। लेकिन जब मैं क्वेरी को Excel में डेटा कनेक्शन के रूप में एम्बेड करता हूं, तो प्रारूप हमेशा मिलिसेकंड के रूप में .000 देता है।


4

मैंने एक्सेल 2000 में ऐसा किया था।

यह कथन होना चाहिए: ms = Round(temp - Int(temp), 3) * 1000

परिणाम सेल के लिए आपको एक कस्टम प्रारूप बनाने की आवश्यकता है [h]:mm:ss.000


-3

पहले एक तिथि (आमतौर पर 1/1/1970) के रूप में मिलीसेकंड समय के युग का प्रतिनिधित्व करते हैं, फिर एक दिन (86400000) में मिलीसेकंड की संख्या से विभाजित अपने मिलीसेकंड समय को जोड़ें:

=DATE(1970,1,1)+(A1/86400000)

यदि आपका सेल ठीक से स्वरूपित है, तो आपको एक मानव-पठनीय तिथि / समय देखना चाहिए।


हाय जॉर्ज और आपका स्वागत है! दुर्भाग्य से, ओपी को विशेष रूप से यह प्राप्त करने का तरीका पूछना था कि सेल "ठीक से स्वरूपित" है। उनका मूल दृष्टिकोण पहले से ही आपके द्वारा संबोधित किए जा रहे भाग को कवर करता है: मिलीसेकंड टाइमस्टैम्प का रूपांतरण एक प्रारूपणीय डेटाटाइम मान में। इसके अतिरिक्त, छह साल के साथ, यह एक पुराना सवाल है जो आपके निवेश पर आपका समय है। नए सवालों पर आपके इनपुट की अधिक प्रशंसा होगी!
कैर्स्टन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.