סיכום
מאמר זה מכיל הליכים לדוגמה של Microsoft Visual Basic for Applications שבהם ניתן להשתמש כדי לעבוד עם כמה סוגים של מערכים.
מידע נוסף
Microsoft מספקת דוגמאות תיכנות לאיור בלבד, ללא אחריות, מפורשת או משתמעת. הדבר כולל, אך אינו מוגבל לאחריות המשתמעת של סוחר או התאמה למטרה מסוימת. מאמר זה מבוסס על ההנחה שאתה מכיר את שפת התיכנות המודגמת, עם הכלים המשמשים ליצירת הליכים ולאתר באגים. מהנדסי התמיכה של Microsoft יכולים לעזור להסביר את הפונקציונליות של הליך מסוים, אך הם לא ישנו דוגמאות אלה כדי לספק פונקציונליות נוספת או לבנות הליכים שיסייעו לך לעמוד בדרישות הספציפיות שלך. הערה: בהליכים של Visual Basic for Applications, המילים אחרי הגרש (') הן הערות.
כדי למלא מערך ולאחר מכן להעתיק אותו לגליון עבודה
-
פתח חוברת עבודה חדשה והוסף גליון מודול של Visual Basic.
-
הקלד את הקוד הבא בגליון המודול.
Sub Sheet_Fill_Array() Dim myarray As Variant myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) Range("a1:a10").Value = Application.Transpose(myarray) End Sub
-
בחר גיליון1.
-
בתפריט כלים, הצבע על מאקרו ולאחר מכן לחץ על פקודות מאקרו.
-
בתיבת הדו-שיח מאקרו, לחץ Sheet_Fill_Array ולאחר מכן לחץ על הפעל.
כדי לקבל ערכים מתוך גליון עבודה ולמלא את המערך
-
הקלד ערכים בגיליון1 בתאים A1:A10.
-
בגליון מודול של Visual Basic, הקלד את הקוד הבא:
Sub from_sheet_make_array() Dim thisarray As Variant thisarray = Range("a1:a10").Value counter = 1 'looping structure to look at array While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
בחר גיליון1.
-
בתפריט כלים, הצבע על מאקרו ולאחר מכן לחץ על פקודות מאקרו.
-
בתיבת הדו-שיח מאקרו, לחץ from_sheet_make_array ולאחר מכן לחץ על הפעל.
כדי להעביר ולקבל מערך
-
בגליון מודול, הקלד את הקוד הבא:
Sub pass_array() Dim thisarray As Variant thisarray = Selection.Value receive_array (thisarray) End Sub Sub receive_array(thisarray) counter = 1 While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
בחר גיליון1, וסמן את הטווח A1:A10.
-
בתפריט כלים, הצבע על מאקרו ולאחר מכן לחץ על פקודות מאקרו.
-
בתיבת הדו-שיח מאקרו, לחץ pass_array ולאחר מכן לחץ על הפעל.
כדי להשוות בין שני מערכים
-
צור שני טווחים בעלי שם בגיליון1. תן שם לטווח אחד1 ולטווח השני2.
לדוגמה, סמן את טווח התאים A1:A10 ותן לו שם בטווח1; סמן את טווח התאים B1:B10 ותן לו את השם range2. -
הקלד את הקוד הבא בגליון המודול.
Sub compare_two_array() Dim thisarray As Variant Dim thatarray As Variant thisarray = Range("range1").Value thatarray = Range("range2").Value counter = 1 While counter <= UBound(thisarray) x = thisarray(counter, 1) y = thatarray(counter, 1) If x = y Then MsgBox "yes" Else MsgBox "no" End If counter = counter + 1 Wend End Sub
-
בחר גיליון2.
-
בתפריט כלים, הצבע על מאקרו ולאחר מכן לחץ על מאקרו.
-
בתיבת הדו-שיח מאקרו, לחץ compare_two_array ולאחר מכן לחץ על הפעל.
תראה תיבת הודעה אחת עבור כל השוואה.
כדי למלא מערך דינאמי
-
בגליון מודול, הקלד את הקוד הבא:
Sub fill_array() Dim thisarray As Variant number_of_elements = 3 'number of elements in the array 'must redim below to set size ReDim thisarray(1 To number_of_elements) As Integer 'resizes this size of the array counter = 1 fillmeup = 7 For counter = 1 To number_of_elements thisarray(counter) = fillmeup Next counter counter = 1 'this loop shows what was filled in While counter <= UBound(thisarray) MsgBox thisarray(counter) counter = counter + 1 Wend End Sub
-
בתפריט כלים, הצבע על מאקרו ולאחר מכן לחץ על פקודות מאקרו.
-
בתיבת הדו-שיח מאקרו, לחץ fill_array ולאחר מכן לחץ על הפעל.
הערה: שינוי המשתנה "number_of_elements" יקבע את גודל המערך.