2015-01-11 9 views
10

मैंने अपने एक्सेल 2013 का उपयोग एक चार्ट डालने में मैक्रो रिकॉर्ड करने के लिए किया है, जो मेरे मामले में एक कॉलम-क्लस्टर चार्ट है। दृश्य कोड विकल्प में, यह मुझे के रूप में नीचे दिए गए कोड की एक पंक्ति से पता चलता:AddChart2 VBA मैक्रो में संख्या क्या दर्शाती है?

ActiveSheet.Shapes.Addchart2(286,xl3DColumnClustered).Select 

कृपया मेरी मदद के रूप में मैं नहीं समझ सकता क्या संख्या 286 का प्रतिनिधित्व करता है। मैं जानता हूँ कि Addchart2 की वाक्य रचना है:

expression.AddChart2(Style,XlChartType,Left,Top,Width,Height,NewLayout) 

अगर मैं बदल "285" को "286", चार्ट एक नीले रंग की पृष्ठभूमि के साथ प्रकट होता है। यदि संख्या 100 है तो एक त्रुटि आती है।

क्या कोई कृपया मुझे बता सकता है कि संख्या क्या दर्शाती है?

धन्यवाद।

+2

बहुत दिलचस्प सवाल [विनिर्देशों] (की कमी http://msdn.microsoft.com पर प्रकाश डाला के लिए डिफ़ॉल्ट ChartStyle से पता चलता /en-us/library/office/ff838167(v=office.15).aspx)। मैं केवल 48 शैलियों (1 से 48 तक) देखते हैं पा सकते हैं, तो यह जवाब नहीं हो सकता है शुरू करने के लिए लेकिन एक अच्छी बात है (यदि आप 286 या 285 सम्मिलित करने के लिए कर रहे हैं)। हालांकि, [आधिकारिक दस्तावेज़ीकरण] में कुछ भी नहीं कहा गया है (http://msdn.microsoft.com/en-us/library/office/jj228277%28v=office.15%29.aspx) तो चलिए किसी ऐसे व्यक्ति की प्रतीक्षा करें जो जानता है अन्य साधन। –

+1

जाहिर stlyes [इस अनुच्छेद] (https://books.google.com/books?id=C-4-Es0OXeIC&pg=RA9-PT250&lpg=RA9-PT250&dq=addchart2 के अनुसार 201-353 से लेकर।+ उत्कृष्टता + VBA + शैली + पैरामीटर और स्रोत = बीएल और ओ टी एस = pRSq7z7NGv और sig = PX7bHdDALq7CIUSgKtnMd8U2Imk & hl = hi & सा = एक्स और Ei = C8myVOCUAsW1sAT87YLYDQ और वेद = 0CDkQ6AEwBA # v = onepage & q = addchart2।% 20excel% 20vba% 20style% 20parameter & f = गलत)। – peege

+0

उपर्युक्त आलेख में अन्य चार्ट शैलियों की बहुत सारी जानकारी है और यह भी उल्लेख है कि मूल 1-48 काम करना जारी रखता है। – peege

उत्तर

0

यह सीधे आपके प्रश्न का उत्तर नहीं देगा, लेकिन इससे आपको पता चल जाएगा कि क्या हो रहा है।

यह मेरे हिस्से पर शुद्ध अनुमान है, लेकिन मुझे लगता है कि यह एक अनियंत्रित बिटफील्ड है। जैसा कि आप थोड़ा सा क्षेत्र जान सकते हैं, एक संख्या का उपयोग करने का एक तरीका है। तो छवि हमारे पास एक बाइट वेरिएबल है जो 8 बिट्स (या झंडे) हो सकती है। तो एक बाइट में हम 8 मान तक स्टोर कर सकते हैं।

उदाहरण: हमारे पास "डेज़ ओपेन" बिट्स नामक फ़ील्ड है जिसका मतलब है कि स्टोर सप्ताह के उस दिन खुला रहता है। (हम 8 बिट ध्यान नहीं देंगे।) तो अगर स्टोर खुला होने एमएफ द्विआधारी 0111 1100

तो फिर तुम सिर्फ दशमलव में उस नंबर परिवर्तित हो सकता है कि और हम देखते हैं कि यह 124

है चर रहा है यही कारण है कि एक संस्करण तो यह बाइट से लांग तक कुछ भी हो सकता है जिसका अर्थ है कि यह 64 विभिन्न झंडे को संग्रहित कर सकता है।

एक पक्ष नोट के रूप में (यदि आप रुचि रखते हैं) तुम इतनी तरह बिट फ़ील्ड का उपयोग कर सकते हैं: ठीक है

Option Explicit 

Public Enum DayFlags 
    'Notice these are power of 2. 
    dfSunday = 1 
    dfMonday = 2 
    dfTuesday = 4 
    dfWednesday = 8 
    dfThursday = 16 
    dfFriday = 32 
    dfSaturday = 64 
End Enum 

Sub Example() 
    Dim openHours As DayFlags 
    'Set the flags: 
    openHours = dfMonday Or dfTuesday Or dfThursday 
    'See the binary? 
    MsgBox Right$("00000000" & Excel.WorksheetFunction.Dec2Bin(openHours), 8) 
    'Notice the order is right to left. This is call endianness. 
    'You can check for a specific flag like this: 
    MsgBox IsOpenOnDay(openHours, dfMonday) & vbNewLine & IsOpenOnDay(openHours, dfFriday) 
    'You can add a flag like this: 
    openHours = openHours Or dfFriday 
    MsgBox IsOpenOnDay(openHours, dfMonday) & vbNewLine & IsOpenOnDay(openHours, dfFriday) 
    'You can remove a flag like this: 
    openHours = openHours Xor dfFriday 
    MsgBox IsOpenOnDay(openHours, dfMonday) & vbNewLine & IsOpenOnDay(openHours, dfFriday) 
End Sub 

Private Function IsOpenOnDay(ByVal openHours As DayFlags, ByVal day As DayFlags) As Boolean 
    IsOpenOnDay = ((openHours And day) = day) 
End Function 
0

, मैं एक ही स्थिति एक बार किया था, और उन मूल रूप से शैलियों चार्ट कर रहे हैं। मैंने सटीक संख्या को समझने की कोशिश की लेकिन फिर मुझे एहसास हुआ कि रिकॉर्डिंग शैली संख्याओं को जानने का एक आसान तरीका था जैसा आपने यहां किया है।

आपके प्रश्न का उत्तर देने के लिए, यह पता लगाने के लिए मैक्रोज़ रिकॉर्ड करें कि आप अपने मैक्रोज़ में कौन सी शैली को कार्यान्वित करना चाहते हैं।

6

कोई भी चार्टटाइप प्रदान कर सकता है और एप्लिकेशन डिफ़ॉल्ट शैली का उपयोग करेगा।

Set oShp = ActiveSheet.Shapes.AddChart2(XlChartType:=xl3DColumnClustered) 
oShp.Chart.SetSourceData Source:=RngDta 

इस तस्वीर सभी ChartTypes (StockHLC और StockVOHLC को छोड़कर)

enter image description here