2010-04-26 14 views
8

मैं वीबीए में काम कर रहा हूं और इसे चुनकर किसी विशिष्ट स्थान पर एक पंक्ति डालना चाहता हूं। मेरे पास जो समस्या है, वह यह है कि पंक्ति के चयन के बाद, स्क्रिप्ट समाप्त होने पर स्प्रेडशीट उस पंक्ति तक नीचे स्क्रॉल हो जाती है। मैं स्प्रेडशीट डालने वाली पंक्ति पर स्क्रॉल किए बिना ऐसा करने में सक्षम होना चाहता हूं।कुछ भी चुनने के बिना पंक्तियां डालने?

Rows(i & ":" & i).Select 
ActiveCell.EntireRow.Insert 

मैं शीर्ष पर जाने के लिए ए 1 का चयन नहीं करना चाहता हूं।

उत्तर

17

बस इस कार्य करें:

Cells(i,1).EntireRow.Insert 

, वांछित श्रृंखला के लिए सीधे कार्रवाई लागू बजाय यह पहली बार का चयन करने और कार्रवाई करने के लिए "Activecell" लागू करने की।

कुछ अतिरिक्त नोट्स:

  • "रिकॉर्ड एक मैक्रो" सुविधा अपने उदाहरण की तरह कोड उत्पन्न करता है, लेकिन मुझे लगता है कि अग्रिम में सेल का चयन शायद ही कभी आवश्यक है जब अपनी खुद की कोड लिखने।
  • एक पक्ष को लाभ: यह पहली बार का चयन 10x का एक पहलू 100x के लिए अपने कोड में तेजी लाने के कर सकते हैं के बजाय सीधे सेल पर काम !!
+0

बहुत बढ़िया है, धन्यवाद! प्रदर्शन का उल्लेख करने के लिए – sooprise

+0

+1 – Scorchio

5

Rows(i & ":" & i).Insert चयन बदले बिना नीचे एक पंक्ति सम्मिलित होंगे।

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