تخطي إلى المحتوى الرئيسي
الدعم
تسجيل الدخول باستخدام حساب Microsoft
تسجيل الدخول أو إنشاء حساب.
مرحباً،
تحديد استخدام حساب مختلف!
لديك حسابات متعددة
اختر الحساب الذي تريد تسجيل الدخول باستخدامه.

الملخص

تحتوي هذه المقالة على نموذج إجراءات Microsoft Visual Basic for Applications التي يمكنك استخدامها للعمل مع عدة أنواع من الصفائف.

مزيد من المعلومات

توفر Microsoft أمثلة برمجة للتوضيح فقط، دون ضمان سواء تم التعبير عنه أو تضمينه. وهذا يشمل، على سبيل المثال لا الحصر، الضمانات الضمنية للقابلية التجارية أو اللياقة البدنية لغرض معين. تفترض هذه المقالة أنك على دراية بلغة البرمجة التي يتم توضيحها ومع الأدوات المستخدمة لإنشاء إجراءات وتصحيح الأخطاء. يمكن لمهندسي دعم Microsoft المساعدة في شرح وظائف إجراء معين، لكنهم لن يعدلوا هذه الأمثلة لتوفير وظائف إضافية أو إجراءات بناء لتلبية متطلباتك المحددة. ملاحظة: في إجراءات Visual Basic for Applications، الكلمات بعد الفاصلة العليا (') هي تعليقات.
 

لتعبئة صفيف ثم نسخه إلى ورقة عمل

  1. افتح مصنفا جديدا وأدرج ورقة وحدة Visual Basic.

  2. اكتب التعليمات البرمجية التالية في ورقة الوحدة النمطية.

    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
    
  3. حدد ورقة1.

  4. في القائمة أدوات، أشر إلى الماكرو ثم انقر فوق وحدات الماكرو.

  5. في مربع الحوار ماكرو، انقر فوق Sheet_Fill_Array، ثم انقر فوق تشغيل.

لأخذ القيم من ورقة عمل وتعبئة الصفيف

  1. اكتب القيم على Sheet1 في الخلايا A1:A10.

  2. في ورقة الوحدة النمطية 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
    
  3. حدد ورقة1.

  4. في القائمة أدوات، أشر إلى الماكرو ثم انقر فوق وحدات الماكرو.

  5. في مربع الحوار ماكرو، انقر فوق from_sheet_make_array، ثم انقر فوق تشغيل.

لتمرير صفيف وتلقيه

  1. في ورقة وحدة نمطية، اكتب التعليمات البرمجية التالية:

    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
    
  2. حدد Sheet1، وقم بتمييز النطاق A1:A10.

  3. في القائمة أدوات، أشر إلى الماكرو ثم انقر فوق وحدات الماكرو.

  4. في مربع الحوار ماكرو، انقر فوق pass_array، ثم انقر فوق تشغيل.

لمقارنة صفيفين

  1. إنشاء نطاقين مسميين على Sheet1. قم بتسمية نطاق واحد1 والنطاق الآخر 2.

    على سبيل المثال، قم بتمييز نطاق الخلايا A1:A10 وسمه range1؛ قم بتمييز نطاق الخلية B1:B10 وسمه range2.

  2. اكتب التعليمات البرمجية التالية في ورقة الوحدة النمطية.

    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
    
  3. حدد ورقة2.

  4. في القائمة أدوات، أشر إلى ماكرو ثم انقر فوق ماكرو.

  5. في مربع الحوار ماكرو، انقر فوق compare_two_array، ثم انقر فوق تشغيل.

    سترى مربع رسالة واحد لكل مقارنة.

لتعبئة صفيف ديناميكي

  1. في ورقة وحدة نمطية، اكتب التعليمات البرمجية التالية:

    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
    
  2. في القائمة أدوات، أشر إلى الماكرو ثم انقر فوق وحدات الماكرو.

  3. في مربع الحوار ماكرو، انقر فوق fill_array، ثم انقر فوق تشغيل.

ملاحظة: سيؤدي تغيير المتغير "number_of_elements" إلى تحديد حجم الصفيف.
 

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟
بالضغط على "إرسال"، سيتم استخدام ملاحظاتك لتحسين منتجات Microsoft وخدماتها. سيتمكن مسؤول تكنولوجيا المعلومات لديك من جمع هذه البيانات. بيان الخصوصية.

نشكرك على ملاحظاتك!

×