2012-07-12 7 views
15

यह वह जगह है VBA कोड im कार्यपुस्तिका(सामान्य विधि काम नहीं कर रहा?) Excel में कार्यपुस्तिका के समाप्त करने के लिए पत्रक जोड़ना

mainWB.Sheets.Add(After:=Sheets(Sheets.Count)).Name = new_sheet_name 

मैं एक में देखा में अंतिम स्थान पर एक नई शीट जोड़ की कोशिश करने का उपयोग कर इस साइट पर एक ही सवाल है। यह काम नहीं कर रहा है।

मैं इसे एक लूप में करता हूं और चादरों में प्रत्येक शीट को दूसरी स्थिति में जोड़ा जाता है। वहाँ 2 चादरें कि स्थायी रूप से वहाँ (जानकारी और सारांश) कर रहे हैं और मैं तो जोड़ने के लिए पूर्व में होना 5 अधिक "परीक्षण" 1 कहा जाता है 5. के माध्यम से मैं हमेशा इस क्रम में चादर के साथ अंत:

Info, sheet5, sheet4, sheet3, sheet2, sheet1, Summary 

लेकिन मैं क्या चाहते हैं/उम्मीद कर रहा था था:

Info, Summary, sheet1, sheet2, sheet3, sheet4, sheet5 

इससे पहले कि मैं तो वे कर रहे हैं शुरू

अगर मैं सारांश और जानकारी पत्रक स्वैप (पाश उन्हें उम्मीद क्रम में उत्पादन तो समस्या वहाँ नहीं है करता है।) विपरीत जगहों पर जब मैं कर रहा हूँ।

मैं क्या गलत कर रहा हूं?

उत्तर

23

इस

mainWB.Sheets.Add(After:=mainWB.Sheets(mainWB.Sheets.Count)).Name = new_sheet_name 
+0

ठीक है, यह काम करता है .... लेकिन मैं केवल पहली बार एक कार्यपुस्तिका का उपयोग कर रहा था तो यह समस्या क्यों पैदा कर रहा था? – Jacxel

+0

यदि मैं गलत नहीं हूं, तो आपके पास कम से कम 2 डब्ल्यूबी खुले हैं। क्या आप दोबारा जांच सकते हैं? कौन सा डब्ल्यूबी 'मेनब्लूबी' का जिक्र है? –

+0

ओह प्रतीक्षा करें ... कभी नहीं, मैक्रो खोलने वाली सीएसवी फाइलों को भूल गया। धन्यवाद ... फिर ... आपने मेरे प्रश्नों का 50% जवाब दिया है XD – Jacxel

5
mainWB.Sheets.Add(After:=Sheets(Sheets.Count)).Name = new_sheet_name 

शायद होना चाहिए

mainWB.Sheets.Add(After:=mainWB.Sheets(mainWB.Sheets.Count)).Name = new_sheet_name 
+0

@ सिद्धार्थ - मुझे हराया! –

+0

+ 1 एक ही समय में पोस्ट करने के लिए कोई भी कम नहीं :) –

+0

मैं 55 सेकंड बहुत धीमी थी। – danielpiestrak

1

पूरी तरह से अपने चादरें जिसके साथ वे संदर्भित कर रहे हैं कार्यपुस्तिका अर्हता प्राप्त करना न भूलें कोशिश करो!

mainWB.Sheets.Add(After:=mainWB.Sheets(mainWB.Sheets.Count)).Name = new_sheet_name 
1

एक आम गलती,

mainWB.Sheets.Add(After:=Sheets.Count) 

जो 1004. त्रुटि के हालांकि यह बिल्कुल आधिकारिक दस्तावेज से स्पष्ट नहीं है ओर जाता है, यह पता चला है कि 'के बाद' पैरामीटर एक पूर्णांक नहीं किया जा सकता है यह एक ही कार्यपुस्तिका में एक चादर का संदर्भ होना चाहिए।

संबंधित मुद्दे