/ / הסר כפילויות ב - VBA של

הסר כפילויות ב - VBA של

להלן נבחן תוכנית ב Excel VBA כי מסיר כפילויות.

מצב:

בטור A יש לנו 10 מספרים. אנו רוצים להסיר את הכפילויות ממספרים אלה ולמקם את המספרים הייחודיים בעמודה B.

הסר כפילויות ב - VBA של

1. ראשית, אנו מכריזים על ארבעה משתנים. כדי להוסיף סוג בוליאני, uniqueNumbers של סוג שלם, אני של סוג שלם, ו- j של מספר שלם.

Dim toAdd As Boolean, uniqueNumbers As Integer, i As Integer, j As Integer

2. הבא, אנחנו כותבים את המספר הראשון של טור א 'לעמוד ב' מאז המספר הראשון הוא תמיד "ייחודי".

Cells(1, 2).Value = Cells(1, 1).Value

3. אנחנו אתחול שני משתנים. הוספנו רק מספר אחד לעמודה B, אז אנחנו לאתחל את'Number 'הייחודיים עם הערך 1. הגדרנו את ההנחה האמיתית בהנחה שיש להוסיף גם את המספר הבא (זה לא בהכרח נכון כמובן).

uniqueNumbers = 1
toAdd = True

אנחנו צריכים לקבוע אם המספר השני הוא "ייחודי" או לא. זה יכול להיעשות בצורה קלה מאוד. רק אם המספר כבר לא נמצא בעמודה B, יש להוסיף את המספר השני לעמודה B.

4. אנחנו גם צריכים לבדוק את זה עבור המספר השלישי, מספר רביעי, וכן הלאה. אנחנו מתחילים לולאה הבאה עבור זה.

For i = 2 To 10

5. עכשיו מגיע החלק החשוב ביותר של התוכנית. אם המספר השני שווה לאחד המספרים בעמודה B (עד כה יש לנו רק מספר אחד ייחודי), הגענו לכתובת False כי במקרה זה אנחנו לא רוצים להוסיף את המספר הזה (זה לא "ייחודי" ") כרגע, ייחודיות עדיין שווה ל 1, אבל uniqueNumbers יכול להיות רשימה שלמה, כדי לבדוק את כל הרשימה, אנחנו צריכים עוד לולאה הבאה שוב: אם המספר שאנחנו רוצים להוסיף שווה לאחד המספרים ברשימה זו, toAdd יוגדר ל- False והמספר לא יתווסף. הוסף את שורות הקוד הבאות:

For j = 1 To uniqueNumbers
    If Cells(i, 1).Value = Cells(j, 2).Value Then
        toAdd = False
    End If
Next j

6. רק אם ADD עדיין נכון ולא מוגדר False, Excel VBA צריך להוסיף את המספר בעמודה B. במקביל, אנו תוספת ייחודיNumbers ב 1 כי יש לנו מספר ייחודי יותר עכשיו. קווי הקוד הבאים מבצעים את העבודה:

If toAdd = True Then
    Cells(uniqueNumbers + 1, 2).Value = Cells(i, 1).Value
    uniqueNumbers = uniqueNumbers + 1
End If

7. לבסוף, קבענו את ההנחה האמיתית בהנחה שיש להוסיף את המספר הבא (מספר שלישי). שוב זה לא בהכרח נכון.

toAdd = True

8. אל תשכח לסגור את הלולאה.

Next i

9. מקם את המקרו בלחצן פקודה ובדוק אותו.

תוצאה:

הסר תוצאות כפילויות

קרא גם: