वेब क्वेरी ताज़ा करने के बाद स्क्रिप्ट चलाएँ। यह काम करने के लिए नहीं मिल सकता है


0

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

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    ' The variable KeyCells contains the cells that will
    ' cause an alert when they are changed.
    Set KeyCells = Range("D32")

    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then

        ' Display a message when one of the designated cells has been
        ' changed.
        ' Place your code here.
    If Range("D32").Value = "0" Then
        Rows("32:32").EntireRow.Hidden = True
    ElseIf Range("D32").Value = "<>0" Then
        Rows("32:32").EntireRow.Hidden = False
    End If

    End If

End Sub

कोड के साथ कुछ भी गलत नहीं है ,,, वास्तव में वर्कशीट चेंज इवेंट मान की जांच करता है D32, यदि ZEROकोड Row 32इसे स्वयं छुपाता है और यदि और अन्य के मामले Zeroमें छिपाए जाने के बाद क्लिक नहीं किया जा रहा है क्योंकि D32संपादित करने के लिए दृश्यमान सेल नहीं है।
राजेश एस

कंट, ,,, अगर आप उस सब से छुटकारा पाना चाहते हैं , तो, की सेल D32 को किसी भी तरह D30से बदलना है ताकि छुपाएँ और अनहेलन करें Row 32!! और अगर D32आप फॉर्मूला में प्रवेश कर चुके हैं और आप छिपाना चाह रहे हैं Row32यदि फॉर्मूला वापस आता है, Zeroतो आपको वर्कशीट कैलकुलेट इवेंट का उपयोग करने की आवश्यकता है, लेकिन पंक्ति के बजाय कुछ अन्य पंक्तियों को छिपाने के लिए फॉर्मूला है। ताकि D32बन<>0
राजेश एस

कंट ,, और आपका सिंटेक्स चाहिए If Range("D32").Value = 0 Then और ElseIf Range("D32").Value <> 0 Then
राजेश एस

इसलिए मैंने कोशिश की: प्राइवेट सब वर्क्सशीट_कालेट () 'अपडेटबाय एक्स्टेंडॉफिस डिम Xrg के रूप में रेंज सेट Xrg = Range ("K39") यदि इंट्रसेक्ट नहीं (Xrg, Range ("K39") है तो कुछ नहीं है तो If Range ("K39") मान। = 0 तब पंक्तियाँ ("32:32")। EntireRow.Hidden = True ElseIf श्रेणी ("3939")। मान <> 0 फिर पंक्तियाँ ("32:32")। EntireRow.Hidden = गलत अंत यदि उप उप अंत। ... लेकिन अब यह सिर्फ गणना और फ्रीज और क्रैश कह कर लूप करता है :(
मैथ्यू बैलर

@ राजेश कृपया अपना जवाब कई टिप्पणियों में न लिखें। इसके बजाय एक वास्तविक उत्तर लिखें।
DavidPostill

जवाबों:


0

मैथ्यू, इस कोड की कोशिश करो, पूरी तरह कार्यात्मक है।

Private Sub Worksheet_Calculate() 

Dim KeyCells As Range 
Set KeyCells = Range("C1") 

If Range("C1").Value = 0 Then 
Rows("3:5").EntireRow.Hidden = True 

ElseIf Range("C1").Value <> 0 Then 

Rows("3:5").EntireRow.Hidden = False 

End If 

End Sub  

एनबी समायोजित सेल / पंक्ति संदर्भ आवश्यकतानुसार।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.