किसी अन्य शीट में डेटा के मिलान किए गए कॉलम से स्पष्ट सामग्री


1

मेरे पास शीट 2 कर्नल ए पर ईमेल पतों का एक कॉलम है (लेकिन मैं उन्हें शीट 1 पर रख सकता था अगर यह आसान / तेज कर देगा) जो मैं शीट 1 कर्नल डी से मिलान करना चाहता हूं यदि मिलान किया जा सकता है (2 या अधिक घटनाएं हो सकती हैं) एक ही ईमेल को हटा दिया जाना चाहिए / प्रत्येक शीट में पंक्तियों को साफ किया जाना चाहिए)।

पूरे दिन खोज करने के बाद मैं और अधिक भ्रमित हो रहा हूँ & amp; मैं जो खोज रहा हूं वह नहीं मिल रहा है। निश्चित नहीं है कि .match या .find का उपयोग करें या नहीं; .ClearContents & amp; के माध्यम से पुनरावृत्ति के लिए वाक्यविन्यास।


+1 अच्छा पहला प्रश्न, पहले अपना शोध करने के लिए अच्छी तरह से किया गया। क्या आपको मैच या खोज का उपयोग करना है, या क्या आप बस कुछ चाहते हैं जो काम करता है?
Dave

जवाबों:


0

आपकी पोस्ट को VBa के साथ टैग किया गया है, और इस तरह, यह मैक्रो करेगा। लेकिन, मैंने मैच का उपयोग नहीं किया या जैसा कि आपने उल्लेख किया है, मुझे यकीन नहीं है कि आपको उन लोगों का उपयोग करना है या नहीं, मैंने मान लिया है कि नहीं और आप केवल वही दिखा रहे हैं जो आपने प्रयास किया है।

हमेशा मैक्रोज़ के साथ के रूप में, अपना काम पहले सहेजें, फ़ाइल की एक प्रति बनाएँ, और फिर इसे लागू करें (यदि ऐसा नहीं है तो आप जो चाहते थे उसका मतलब है कि आपके पास एक बैकअप है)

Sub RemoveEmails()

Dim row As Integer
row = 1

Dim sheet_A_Column As String
sheet_A_Column = "D"   ' UPDATE ME IF NEEDED. I am the column of emails in the main table. You will be deleting emails from this list

Dim sheet_B_Column As String
sheet_B_Column = "A" ' UPDATE ME IF NEEDED.  I am the list of emails which need to be matched for deletion. 

Do While (True) ' don't ever stop me! I loop forever...

Dim theValue As String
theValue = Worksheets("Sheet2").Range(sheet_B_Column & row).Value ' the value on Sheet2 (the delete list)

If theValue = "" Then
    Exit Do ' unless I run out of things to loop through, at which point, exit
End If

'Now to loop through all the cells on Sheet1 to see which value(s) need clearing or not
For Each c In Worksheets("Sheet1").Range(sheet_A_Column & ":" & sheet_A_Column).Cells
     If c.Value = theValue Then
            c.Value = ""
      End If
Next

row = row + 1
Loop

End Sub

तो, कुछ स्क्रीन शॉट्स समझाने में मदद करने के लिए।

शीट 2 पर ईमेल की सूची जो हम शीट 1 से निकालना चाहते हैं

enter image description here

अब, शीट 1, वास्तविक सूची जहां हम उनमें से कुछ को निकालना चाहते हैं।

enter image description here

और मैक्रो चलाने के बाद अंतिम परिणाम

enter image description here

मुझे स्वीकार करना होगा, जो कोड मैंने दिया है वह सबसे अधिक कुशल नहीं है लेकिन, आपके प्रश्न के आधार पर, यह वही करता है जो इसकी आवश्यकता है!


0

इस के लिए एक बहुत सरल समाधान है। एक्सेल का REMOVE DUPLICATE तर्क स्प्रेडशीट में कम दिखाई देने वाले डुप्लिकेट को हटाने के लिए है।

यदि आप शीट 1 में दिखाई देने वाली शीट 2 से सभी आइटम निकालना चाहते हैं, तो शीट 1 के शीर्ष पर शीट 2 से आइटम चिपकाएँ, कॉलम के लिए REMOVE DUPLICATE फ़ंक्शन चलाएँ, और फिर शीट 2 से सभी आइटम हटा दें ।

आसान है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.