उम्मीद है कि यह एक आसान है। मेरे पास एमएस एक्सेल में चार्ट की एक श्रृंखला है जो एक ही वर्कशीट पर डेटा इंगित करती है। वर्कशीट पर डेटा को वीबीए फ़ंक्शन का उपयोग करके गणना की जाती है। जब वीबीए फ़ंक्शन द्वारा डेटा अपडेट किया जाता है तो नए नंबर उन चार्टों में दिखाई नहीं देते हैं जो उन्हें इंगित कर रहे हैं। मैंने एप्लिकेशन को कॉल करने का प्रयास किया। गणना करें, लेकिन उसने चाल नहीं की। कोई विचार?चार्ट स्वचालित रूप से अपडेट नहीं होते हैं जब डेटा बदलता है
अपडेट करें:
मैं एक बहुत छोटे पैमाने पर इस मुद्दे को नकल करने में सक्षम था।
- "सारांश"
- का नाम बदलें शीट 2 "डेटा" के लिए
ओपन सारांश शीट VBA संपादक में करने के लिए एक नई कार्यपुस्तिका
- का नाम बदलें शीट 1 बनाएँ और निम्नलिखित कोड पेस्ट यहां तरीका देखें: :
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Parent.Range("worksheetDate") = Target Then Application.CalculateFull End If End Sub
एक नया VBA मीटर बनाएं odule
नया VBA मॉड्यूल में निम्न कोड पेस्ट करें (मैं माफी माँगता हूँ - मैं स्टैक ओवरफ़्लो मुझे के जीवन के लिए सही ढंग से इस फ़ॉर्मेट करने के लिए नहीं मिल सकता है - यह सबसे अच्छा मैं यह करने के मिल सकता है):
।Function getWeekValue (weekNumber As Integer, valuesRange As Range) As Integer Dim aCell As Range Dim currentDate As Date Dim arrayIndex As Integer Dim weekValues(1 To 6) As Integer currentDate = ThisWorkbook.Names("worksheetDate").RefersToRange.Value arrayIndex = 1 For Each aCell In valuesRange If month(currentDate) = month(ThisWorkbook.Sheets("Data").Cells(_ aCell.Row - 1, aCell.Column)) Then weekValues(arrayIndex) = aCell.Value arrayIndex = arrayIndex + 1 End If Next getWeekValue = weekValues(weekNumber) End Function
।
संशोधित डाटा कार्यपत्रक निम्न छवि मैच के लिए: निम्नलिखित में से 3
- चुनें सेल B1 और सीमा "worksheetDate"
- डुप्लिकेट पंक्तियों 1 नाम छवि:
- पंक्ति 4 में, "सप्ताह एक्स" शीर्षकों के अंतर्गत, निम्न सूत्र
दर्ज करें।
= getWeekValue(1, Data!$A$2:$M$2)
प्रत्येक सप्ताह के लिए एक के बाद getWeekValue कार्य करने के लिए पहला तर्क incrementing (जैसे, सप्ताह 2, 3 के लिए सप्ताह 1, 2 के लिए पारित 1, सप्ताह 3 के लिए, आदि
- बनाएँ डेटा
- के रूप में कक्ष A3 से E4 का उपयोग करके बार ग्राफ़ 10/1/2010 और 12/31/2010 के बीच की तारीख को सेल बी 2 में दिनांक बदलें, वर्तमान में सेल में मौजूद माह के अलावा एक महीने का चयन करें। उदाहरण, यदि तिथि 12/11/2010 है, तो इसे 11/11/2010 या 10/11/2010 जैसी किसी चीज़ में बदलें। ध्यान दें कि डेटा और चार्ट दोनों सही तरीके से अपडेट होते हैं।
- सेल बी 2 लाभ में दिनांक संशोधित करें। ध्यान दें कि डेटा अपडेट, लेकिन चार्ट नहीं करता है।
विचित्र रूप से, कुछ समय बाद (कई मिनट) समाप्त हो गया है, चार्ट अंत में अपडेट हो जाता है। मुझे यकीन नहीं है कि ऐसा इसलिए है क्योंकि मैं अन्य गतिविधियों को निष्पादित कर रहा हूं जो अद्यतन को ट्रिगर करते हैं या क्योंकि एक्सेल कई मिनटों के बाद अद्यतन को ट्रिगर कर रहा है।
आपके चार्ट सरल डेटा श्रेणियों के आधार पर हैं या वे पिवोटचर्ट्स हैं जो (ए) पिवोटटेबल (जो) आपके वीबीए गणना मूल्यों पर आधारित हो सकते हैं) पर आधारित हैं। दो चार्ट प्रकार अलग-अलग व्यवहार करते हैं - बाद में अपडेट करने के लिए आपको रीवॉल्यूलेट करने के बजाए पिवट को रीफ्रेश करना होगा - और पिवोट चार्ट स्वचालित रूप से – MikeD
@MikeD का पालन करेंगे जानकारी के लिए धन्यवाद - मैं इसे भविष्य में ध्यान में रखूंगा। इस मामले में मैं एक डेटा को इंगित करने वाले एक बार ग्राफ के साथ काम कर रहा हूं जो एक साधारण डेटा रेंज है जो पिवोट टेबल से बंधी नहीं है। – Adam
तो क्या आप इसे हल करने में सक्षम थे? मैंने देखा है कि वर्कशीट में पहली पंक्ति डालने से चार्ट –