Tóm tắt

Bài viết này chứa các quy Visual Basic for Applications Microsoft mẫu mà bạn có thể sử dụng để làm việc với một số loại mảng.

Thông tin Bổ sung

Microsoft chỉ cung cấp các ví dụ lập trình để minh họa mà không cần bảo hành dù là rõ ràng hay ngụ ý. Điều này bao gồm, nhưng không giới hạn ở, bảo hành ngụ ý về khả năng bán được hoặc sự thích hợp cho một mục đích cụ thể. Bài viết này giả định rằng bạn đã quen thuộc với ngôn ngữ lập trình đang được chứng minh và với các công cụ được sử dụng để tạo và gỡ lỗi thủ tục. Các kỹ sư hỗ trợ của Microsoft có thể giúp giải thích chức năng của một quy trình cụ thể, nhưng họ sẽ không sửa đổi các ví dụ này để cung cấp chức năng bổ sung hoặc quy trình xây dựng để đáp ứng các yêu cầu cụ thể của bạn. LƯU Ý: Trong Visual Basic for Applications thủ tục, các từ sau dấu nháy đơn (') là ý kiến.  

Để điền một mảng, rồi sao chép nó vào một trang tính

  1. Mở sổ làm việc mới và chèn trang tính mô-đun Visual Basic.

  2. Nhập mã sau đây trên trang tính mô-đun.

    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. Chọn Sheet1.

  4. Trên menu Công cụ, trỏ đến Macro, rồi bấm vào Macro.

  5. Trong hộp thoại Macro, bấm vào Sheet_Fill_Array, rồi bấm vào Chạy.

Để lấy giá trị từ trang tính và điền vào mảng

  1. Nhập giá trị trên Sheet1 vào các ô A1:A10.

  2. Trên trang tính mô-đun Visual Basic, hãy nhập mã sau đây:

    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. Chọn Sheet1.

  4. Trên menu Công cụ, trỏ đến Macro, rồi bấm vào Macro.

  5. Trong hộp thoại Macro, bấm vào from_sheet_make_array, rồi bấm vào Chạy.

To Pass và Receive an Array

  1. Trên trang tính mô-đun, hãy nhập mã sau đây:

    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. Chọn Sheet1 và tô sáng phạm vi A1:A10.

  3. Trên menu Công cụ, trỏ đến Macro, rồi bấm vào Macro.

  4. Trong hộp thoại Macro, bấm vào pass_array, rồi bấm vào Chạy.

Để so sánh Hai Mảng

  1. Tạo hai phạm vi có tên trên Sheet1. Đặt tên cho một phạm vi1 và phạm vi còn lại 2.Ví dụ, tô sáng phạm vi ô A1:A10 và đặt tên cho phạm vi ô đó là 1; tô sáng phạm vi ô B1:B10 và đặt tên cho phạm vi ô đó là phạm vi 2.

  2. Nhập mã sau đây trên trang tính mô-đun.

    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. Chọn Sheet2.

  4. Trên menu Công cụ, trỏ đến Macro, rồi bấm vào Macro.

  5. Trong hộp thoại Macro, bấm vào compare_two_array, rồi bấm vào Chạy.Bạn sẽ thấy một hộp thông báo cho mọi so sánh.

Cách Điền Mảng Động

  1. Trên trang tính mô-đun, hãy nhập mã sau đây:

    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. Trên menu Công cụ, trỏ đến Macro, rồi bấm vào Macro.

  3. Trong hộp thoại Macro, bấm vào fill_array, rồi bấm vào Chạy.

LƯU Ý: Thay đổi biến "number_of_elements" sẽ xác định kích thước của mảng.  

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.