एक्सेल वीबीए फंक्शन परिणाम ताज़ा करें

क्या किसी को पता है कि मैं उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन को फिर से मूल्यांकन करने के लिए कैसे प्राप्त कर सकता हूं (स्प्रेडशीट में परिवर्तित डेटा के आधार पर)? मैंने F9 और Shift + F9 की कोशिश की है, लेकिन वे नहीं हैं काम। काम करने के लिए प्रतीत होने वाली एकमात्र चीज फ़ंक्शन कॉल के साथ सेल को संपादित कर रही है और फिर एंटर दबा रही है। कोई विचार? मुझे ऐसा करने में सक्षम होने की याद आ रही है ...

0
ro fr bn

7 उत्तर

आपको अपने फ़ंक्शन के शीर्ष पर Application.Volatile का उपयोग करना चाहिए:

Function doubleMe(d)
    Application.Volatile
    doubleMe = d * 2
End Function

जब भी कार्यपुस्तिका में परिवर्तन होता है तो यह पुनर्मूल्यांकन करेगा (यदि आपकी गणना स्वचालित पर सेट की गई है)।

0
जोड़ा
@airstrike आपका स्वागत है
जोड़ा लेखक vzczc, स्रोत
@ एमडीएम सच पर जानकारी के लिए धन्यवाद !! Excel 2013 में कस्टम वर्कशीट फ़ंक्शन के लिए भी इसकी आवश्यकता है !!
जोड़ा लेखक timbram, स्रोत
धन्यवाद। आप। अगर मैं कर सकता तो मैं आपको बियर खरीदूंगा!
जोड़ा लेखक Andy Terra, स्रोत
यह तब काम करता है जब मैं किसी सेल के मान को बदलता हूं, लेकिन मेरे पास एक ऐसा फ़ंक्शन है जो भरने वाले रंग के आधार पर कोशिकाओं को रकम करता है और जब मैं सेल के भरने वाले रंग को बदलता हूं तो यह फ़ंक्शन को अपडेट नहीं करता है, मुझे मान को फिर से टाइप करना होगा। क्या मैं वर्कशीट लाइव अपडेट कर सकता हूं क्योंकि मैं रंग भरता हूं?
जोड़ा लेखक Chris M, स्रोत
धन्यवाद, इस पर एक डेस्क के खिलाफ बस मेरे सिर को झुका रहा है। हालांकि यह इंगित करना चाहिए कि Excel 2010 में, आपको एप्लिकेशन को सही पास करने की आवश्यकता है। वोल्टाइल, यानी <कोड> एप्लिकेशन। वोल्टाइल ट्रू ।
जोड़ा लेखक mdm, स्रोत
यह कमाल है, मुझे नहीं पता था, एक गुच्छा धन्यवाद
जोड़ा लेखक Matthew Rathbone, स्रोत

ठीक है, यह खुद को मिला। आप इसे पूरा करने के लिए Ctrl + Alt + F9 का उपयोग कर सकते हैं।

0
जोड़ा
यदि आपके पास एक्सेल 2007 को Application.Volatile विधि Office 2010 में जोड़ा गया था, तो यह आपका एकमात्र विकल्प है।
जोड़ा लेखक Twisty Impersonator, स्रोत

Excel में गणना के लिए F9 कीबोर्ड शॉर्टकट पर कुछ और जानकारी

  • F9 Recalculates all worksheets in all open workbooks
  • Shift+ F9 Recalculates the active worksheet
  • Ctrl+Alt+ F9 Recalculates all worksheets in all open workbooks (Full recalculation)
  • Shift + Ctrl+Alt+ F9 Rebuilds the dependency tree and does a full recalculation
0
जोड़ा
Public Sub UpdateMyFunctions()
    Dim myRange As Range
    Dim rng As Range

    'Considering The Functions are in Range A1:B10
    Set myRange = ActiveSheet.Range("A1:B10")

    For Each rng In myRange
        rng.Formula = rng.Formula
    Next
End Sub
0
जोड़ा
कृपया थोड़ा सा कोड समझाएं। यह उपयोगीता को काफी बढ़ा देगा।
जोड़ा लेखक Trilarion, स्रोत
rng.Formula = rng.Formula एक सेल दर्ज करने और फिर से दर्ज करने के समान है। यह Excel को फिर से सेल की गणना करने के लिए मजबूर करता है - जिसमें कोई भी कस्टम फ़ंक्शन शामिल है।
जोड़ा लेखक Sam V, स्रोत

स्वचालित पर स्विच करने के लिए:

Application.Calculation = xlCalculationAutomatic    

मैन्युअल पर स्विच करने के लिए:

Application.Calculation = xlCalculationManual    
0
जोड़ा
डाउनवॉट्स क्यों? यह वास्तव में काम करता है !!!
जोड़ा लेखक Tuscan, स्रोत
धन्यवाद। यह भी मेरे लिए काम किया
जोड़ा लेखक ayman, स्रोत

रेंज (ए: बी) से बेहतर गणना को ताज़ा करने के लिए यह अच्छी तरह से काम करता है। गणना करें

Public Sub UpdateMyFunctions()
Dim myRange As Range
Dim rng As Range

'Considering The Functions are in Range A1:B10
Set myRange = ActiveSheet.Range("A1:B10")

For Each rng In myRange
    rng.Formula = rng.Formula
Next
End Sub
0
जोड़ा

The Application.Volatile doesn't work for recalculating a formula with my own function inside. I use the following function: Application.CalculateFull

0
जोड़ा