एक्सेल में टाइमस्टैम्प ... काम नहीं कर रहा है?


0

मुझे पता है कि यह प्रश्न कई बार पूछा गया है, और मैंने वास्तव में खोज की है और इसे दिए गए समाधानों के साथ काम करने का प्रयास किया है ताकि कोई फायदा न हो। शायद मैं कुछ गलत कर रहा हूं, लेकिन मुझे VBA के बारे में ज्यादा जानकारी नहीं है, इसलिए मुझे नहीं पता कि क्या गलत है। मूल रूप से, मेरे पास ऐसे मान हैं जो मैं स्तंभ E में इनपुट कर रहा हूं, और मैं चाहता हूं कि E में संबंधित मान संशोधित होने के बाद, कॉलम G में स्वचालित रूप से अपडेट हो जाए।

मैंने इस वेबसाइट से निम्न कोड का उपयोग किया है http://www.mcgimpsey.com/excel/timestamp.html :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
        With Target
            If .Count > 1 Then Exit Sub
            If Not Intersect(Range("A2:A10"), .Cells) Is Nothing Then
                Application.EnableEvents = False
                If IsEmpty(.Value) Then
                    .Offset(0, 1).ClearContents
                Else
                    With .Offset(0, 1)
                        .NumberFormat = "dd mmm yyyy hh:mm:ss"
                        .Value = Now
                    End With
                End If
                Application.EnableEvents = True
            End If
        End With
    End Sub

मैंने अपनी क्वेरी को फिट करने के लिए इसे संशोधित करने का प्रयास किया है, लेकिन जब मैं कॉलम जी में एक मूल्य दर्ज करता हूं, तो कॉलम ई में कुछ भी नहीं दिखाई देता है। क्या कोई यह समझा सकता है कि मैं यह काम कैसे कर सकता हूं?

धन्यवाद


1
VBA विंडो में, F8 का चयन करें। इस प्रकार VBA को एक चरण मोड में रखा जाएगा। वापस जाएं और कॉलम जी में एक मान बदलें। आप देखेंगे कि फ़ंक्शन बहुत शुरुआत में बाहर निकलता है।
wbeard52

@ wbeard52 मैं कोशिश करूँगा। त्वरित प्रश्न: ऊपर दिए गए कोड में, यह ऑफसेट (0,1) कहता है, क्या इसे मेरी वर्कशीट के आधार पर बदलने की आवश्यकता है? मुझे यकीन नहीं है कि इसका क्या मतलब है
Alti

जवाबों:


2

आपका कोड कॉलम A की निगरानी करता है, A2 से A10 तक, स्तंभ E से नहीं। यह बी से संबंधित तारों में 1 की ऑफसेट के साथ टाइमस्टैम्प को रखता है।

यदि आप कॉलम E की निगरानी करना चाहते हैं और कॉलम G में टाइम स्टैम्प डालें तो कोड को बदल दें

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
        With Target
            If .Count > 1 Then Exit Sub
            If Not Intersect(Range("E:E"), .Cells) Is Nothing Then
                Application.EnableEvents = False
                If IsEmpty(.Value) Then
                    .Offset(0, 2).ClearContents
                Else
                    With .Offset(0, 2)
                        .NumberFormat = "dd mmm yyyy hh:mm:ss"
                        .Value = Now
                    End With
                End If
                Application.EnableEvents = True
            End If
        End With
    End Sub

धन्यवाद। मैंने एक्सेल में VBA विंडो में कोड डाल दिया है। क्या मैं खिड़की बंद कर दूं और यह काम करना चाहिए? मैंने कोशिश की थी कि टाइमस्टैम्प नहीं दिखा ...
Alti

इस कोड को शीट के शीट मॉड्यूल में जाने की आवश्यकता है जिसे आप इसे चलाना चाहते हैं। शीट टैब पर राइट-क्लिक करें, क्लिक करें View Code और कोड को कोड विंडो में पेस्ट करें। फिर VBE को बंद करें।
teylyn
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.