מיין מספרים ב- Excel VBA - פקודות מאקרו קלות של Excel

תוכן העניינים

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

מַצָב:

מקם כפתור פקודה בגליון העבודה שלך והוסף את שורות הקוד הבאות:

1. ראשית, אנו מצהירים על שלושה משתנים מסוג מספר שלם ואובייקט טווח אחד.

Dim i As Integer, j As Integer, temp As Integer, rng As Range

2. אנו מאתחלים את אובייקט הטווח rng עם המספרים בעמודה A. אנו משתמשים במאפיין CurrentRegion לשם כך. CurrentRegion שימושי כאשר איננו יודעים מראש את הגבולות המדויקים של טווח (אנו רוצים שתוכנית זו תעבוד עבור 9 מספרים אך גם עבור 90 מספרים).

הגדר rng = טווח ("A1"). CurrentRegion

3. אנו מתחילים שתי לולאות For Next.

עבור i = 1 ל- rng.Count
עבור j = i + 1 ל rng.Count

הסבר: rng.Count שווה ל 9, כך ששתי שורות הקוד הראשונות מצטמצמות ל- For i = 1 ל- 9 ו- For j = i + 1 to 9. For i = 1, j = 2, 3,…, 8 ו- 9 נבדקות. .

4. כדי למיין את המספרים כראוי, אנו משווים את המספר הראשון למספר הבא. אם המספר הבא קטן יותר, נחליף את המספרים. הוסף את המשפט If Then הבא.

אם rng.Cells (j) <rng.Cells (i) לאחר מכן
סוף אם

אם המשפט הנ"ל נכון, נחליף את המספרים.

לדוגמה: עבור i = 1 ו- j = 2 משווים את המספרים 2 ו -10. האמירה לעיל אינה נכונה. לפיכך, אין צורך להחליף את המספרים. Excel VBA מגדיל את j ב -1 וחוזר על שורות הקוד עבור i = 1 ו- j = 3. אתה יכול בקלות לראות ש -5 גדול מ -2, אז עדיין אין צורך להחליף את המספרים. אנו מקבלים את אותה התוצאה עבור j = 4, j = 5 ו- j = 6. כאשר אנו מגיעים ל- j = 7, המשפט הנ"ל נכון מכיוון ש 1 קטן מ -2.

5. אנו מחליפים את המספרים. אנו מאחסנים מספר אחד באופן זמני, כך ש- VBA של Excel יוכל להחליף את המספרים כראוי. הוסף את שורות הקוד הבאות במשפט If.

'החלף מספרים
temp = rng.Cells (i)
rng.Cells (i) = rng.Cells (j)
rng.Cells (j) = טמפ '

6. אנו סוגרים את הלולאה השנייה של For Next (מחוץ למשפט If).

י הבא

עבור i = 1 ו- j = 7, Excel VBA החליף את המספרים. המשמעות היא שנקבל 1 במיקום הראשון ו -2 במיקום 7. עכשיו כשיש לנו 1 במיקום הראשון, נשווה ערך זה ל- 5 (עבור j = 8) ו- 4 (עבור j = 9). אין צורך להחליף את המספרים (1 הוא המספר הקטן ביותר). בדרך זו Excel VBA מקבל (עבור i = 1) את המספר הקטן ביותר במיקום הראשון. כדי לקבל את המספר השני הקטן ביותר במיקום השני, Excel VBA חוזר על אותם השלבים בדיוק עבור i = 2. כדי לקבל את המספר השלישי הקטן ביותר במיקום השלישי, Excel VBA חוזר על אותם השלבים בדיוק עבור i = 3 וכו '.

7. סגור את הלולאה הראשונה של הבא (מחוץ למשפט If).

הבא i

8. בדוק את התוכנית שלך.

תוֹצָאָה:

תוכל לעזור בפיתוח האתר, שיתוף הדף עם החברים שלך

wave wave wave wave wave