ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

สรุป

บทความนี้มีตัวอย่างกระบวนงาน Microsoft Visual Basic for Applications ที่คุณสามารถใช้เพื่อทํางานกับอาร์เรย์หลายชนิดได้

ข้อมูลเพิ่มเติม

Microsoft แสดงตัวอย่างการเขียนโปรแกรมสําหรับภาพประกอบเท่านั้น โดยไม่มีการรับประกันทั้งโดยชัดแจ้งหรือโดยนัย ซึ่งรวมถึงแต่ไม่จํากัดเพียงการรับประกันโดยนัยถึงความสามารถในเชิงพาณิชย์หรือความเหมาะสมสําหรับวัตถุประสงค์เฉพาะ บทความนี้จะถือว่าคุณคุ้นเคยกับภาษาการเขียนโปรแกรมที่กําลังแสดงอยู่ และมีเครื่องมือที่ใช้สําหรับสร้างและแก้ไขจุดบกพร่องของกระบวนการ วิศวกรฝ่ายสนับสนุนของ Microsoft สามารถช่วยอธิบายฟังก์ชันการทํางานของกระบวนการเฉพาะได้ แต่จะไม่ปรับเปลี่ยนตัวอย่างเหล่านี้เพื่อให้มีฟังก์ชันการทํางานที่เพิ่มขึ้นหรือสร้างขั้นตอนต่างๆ เพื่อตอบสนองความต้องการเฉพาะของคุณ หมายเหตุ: ในกระบวนงาน Visual Basic for Applications คําว่า after apostrophe (') คือข้อคิดเห็น
 

เมื่อต้องการเติมอาร์เรย์ แล้วคัดลอกไปยังเวิร์กชีต

  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. เลือก Sheet1

  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. เลือก Sheet1

  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. เลือก แผ่นงาน 1 แล้วเน้นช่วง A1:A10

  3. บนเมนู เครื่องมือ ให้ชี้ไปที่ แมโคร แล้วคลิก แมโคร

  4. ในกล่องโต้ตอบ แมโคร ให้คลิก pass_array แล้วคลิก เรียกใช้

เมื่อต้องการเปรียบเทียบสองอาร์เรย์

  1. สร้างช่วงที่มีชื่อสองช่วงบน Sheet1 ตั้งชื่อช่วงหนึ่ง 1 และอีกช่วง 2

    ตัวอย่างเช่น เน้นช่วงเซลล์ A1:A10 และตั้งชื่อช่วง 1 ไฮไลต์ช่วงเซลล์ B1:B10 และตั้งชื่อช่วง 2

  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. เลือก Sheet2

  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 ผู้ดูแลระบบ IT ของคุณจะสามารถรวบรวมข้อมูลนี้ได้ นโยบายความเป็นส่วนตัว

ขอบคุณสำหรับคำติชมของคุณ!

×