से डुप्लिकेट निकालने के कोई कैसे निम्नलिखित समस्या को हल करने के लिए के रूप में मुझे कुछ संकेत दे सकता है:VBA, सरणी
मान लें मैं Excel 2010 में डेटा का एक ब्लॉक, 3 कॉलम के आधार पर 100 पंक्तियों की है।
कॉलम सी, कुछ डुप्लिकेट शामिल कहते हैं कि यह 1,1,1 2,3,4,5, ..... के रूप में शुरू होता है, 97,98
VBA का उपयोग करना, मैं निकालना चाहते हैं कॉलम सी के अनुसार, डुप्लिकेट पंक्तियां, ताकि मुझे 1,2,3, ....., 97, 98, यानी केवल 98 पंक्तियां और 3 कॉलम के साथ छोड़ा जा सके।
मुझे पता है कि एक ऐसा बटन है जिसे मैं एक्सेल 2010 में क्लिक कर सकता हूं, लेकिन मैं इसे वीबीए में करना चाहता हूं (क्योंकि मैंने इसे आजमाया है और किसी कारण से, मेरे बाद के बाकी कोड के साथ पूर्णांक देता है और गलत देता है परिणाम)।
इसके अलावा, मैं
ऐसे Application.Worksheetfunction.countif (के रूप में तरीकों की तुलना में सरणियों में यह करने के लिए है, तो कार्यपत्रक पर परिणाम पेस्ट, बल्कि ..... चाहते हैं तो कुछ इस तरह:
।Dim myarray() as Variant
myarray=cells(1,1).Currentregion.value
Dim a as Long
For a=1 to Ubound(myarray,1)
'something here to
Next a
यह शीट से वास्तविक पंक्तियों को हटा देता है, जबकि सवाल वीबीए में डुप्लिकेट को हटाना था।साथ ही पंक्तियों को छोड़ने से बचने के लिए किसी पंक्ति पंक्ति को हमेशा नीचे से नीचे जाना चाहिए, – brettdj
@brettdj कोड के दोनों बिट डुप्लिकेट को हटाने के लिए काम करेंगे। पूछताछ वीबीए में करना चाहता था, अधिमानतः सरणी के साथ (जिस स्थिति में वह आसानी से लूप को एक सीमा के बजाय सरणी की पंक्तियों के माध्यम से फिर से संशोधित करने के लिए संशोधित कर सकता है, फिर एक अलग सरणी में केवल अद्वितीय तत्व जोड़ें)। यदि आप कोड को देखते हैं, तो आप देखेंगे कि पंक्ति हटाना नीचे से ऊपर जाता है ('पंक्ति गणना' घट जाती है)। :) – Zairja
वैसे सवाल शीर्षक * वीबीए है, सरणी * से डुप्लिकेट हटा दें। आप एक अच्छा मुद्दा बनाते हैं कि आपका कोड 'काउंटर' का उपयोग करने के तरीके से नीचे जाता है हालांकि इस मामले में पूछताछ करने वाले को यह निर्दिष्ट करने की आवश्यकता हो सकती है कि पहली घटना शीर्ष या बोतल पर रखी जानी चाहिए या नहीं। – brettdj