मैंने जितना संभव हो उतना ऑनलाइन देखा है (माइक्रोसॉफ्ट समर्थन वेबसाइट को छोड़कर, जो कि किसी कारण से काम पर अवरुद्ध है)। मैं बस एक त्रुटि छोड़ने की कोशिश कर रहा हूँ। यहां लिखा गया मेरा कोड सरलीकृत है लेकिन उसी तरह काम करना चाहिए।वीबीए एक्सेल सरल त्रुटि
मेरी कोड करने के लिए माना जाता है क्या: एक मेरे बाद के चरणों की एक पाश में आकृति और नाम बनाता है उन्हें (btn_1, btn_2, आदि)। लेकिन उन्हें बनाने से पहले, यह एक उप-कॉल करता है जो उन्हें हटाने की कोशिश करता है ताकि डुप्लीकेट न बनें। इस उप (btn_1, btn_2, आदि) के माध्यम से लूप और का उपयोग कर आकार हटाता है:
for i = 1 to (a certain number)
Set shp = f_overview.Shapes("btn_" & i)
shp.delete
next
बेशक
, ऐसा होता है कि आकार, क्योंकि यह बस मौजूद नहीं है हटाया नहीं जा सकता। मैंने पाया है कि अधिकांश समय, आकार निर्धारित करने से पहले संशोधित फ़िक्स (अगली बार फिर से शुरू करने पर) जोड़ना है, क्योंकि मुझे यह कहते हुए एक त्रुटि मिलती है कि यह अस्तित्व में नहीं है। मैं, पाश अंदर यह कोशिश की है, पाश से पहले आदि, इसलिए जैसे:
for i = 1 to (a certain number)
On Error Resume Next
Set shp = f_overview.Shapes("btn_" & i)
shp.delete
next
जहां तक मैं समझता हूँ कि यह सही के माध्यम से करता है, तो आकार मौजूद नहीं है पाश माना जाता है, लेकिन मैं अभी भी एक ही मिलता है त्रुटि करें कि मैं ऑन त्रुटि फिर से शुरू करता हूं या नहीं! मैं क्या गलत कर रहा हूं?
संपादित करें: आकार मौजूद होने पर कोई त्रुटि नहीं है।
धन्यवाद! मैंने अन्य उत्तरदाताओं के सुझावों की कोशिश की और सभी असफल रहे। यही कारण है कि हालांकि उन्होंने मूल्यवान जानकारी भी प्रदान की! –
@ डेविड ग्रैंड मैमिसन मैं मानता हूं कि अन्य उत्तरों में किए गए त्रुटि प्रबंधन को क्लीनर और बेहतर है। लेकिन आपका मूल कोड काम करना चाहिए था। – Degustaf