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
-
Mở sổ làm việc mới và chèn trang tính mô-đun Visual Basic.
-
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
-
Chọn Sheet1.
-
Trên menu Công cụ, trỏ đến Macro, rồi bấm vào Macro.
-
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
-
Nhập giá trị trên Sheet1 vào các ô A1:A10.
-
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
-
Chọn Sheet1.
-
Trên menu Công cụ, trỏ đến Macro, rồi bấm vào Macro.
-
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
-
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
-
Chọn Sheet1 và tô sáng phạm vi A1:A10.
-
Trên menu Công cụ, trỏ đến Macro, rồi bấm vào Macro.
-
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
-
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. -
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
-
Chọn Sheet2.
-
Trên menu Công cụ, trỏ đến Macro, rồi bấm vào Macro.
-
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
-
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
-
Trên menu Công cụ, trỏ đến Macro, rồi bấm vào Macro.
-
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.