Mảng VBA trong Excel: Là gì, Cách sử dụng & Các loại mảng trong VBA

Mục lục:

Anonim

VBA Array là gì?

Một mảng được định nghĩa là một vị trí bộ nhớ có khả năng lưu trữ nhiều hơn một giá trị. Tất cả các giá trị phải có cùng kiểu dữ liệu. Giả sử bạn muốn lưu trữ danh sách đồ uống yêu thích của mình trong một biến duy nhất, bạn có thể sử dụng mảng VBA để làm điều đó.

Bằng cách sử dụng một mảng, bạn có thể tham chiếu đến các giá trị có liên quan theo cùng một tên. Bạn có thể sử dụng một chỉ mục hoặc chỉ số dưới để phân biệt chúng. Các giá trị riêng lẻ được gọi là các phần tử của mảng VBA trong Excel. Chúng tiếp giáp với nhau từ chỉ số 0 đến giá trị chỉ mục cao nhất.

Hướng dẫn này giả sử bạn đang sử dụng Microsoft Excel phiên bản 2013. Kiến thức vẫn áp dụng cho các phiên bản Microsoft Excel khác.

Trong hướng dẫn Lập trình VBA này, bạn sẽ học-

  • Ưu điểm của mảng là gì?
  • Các loại mảng trong VBA
  • Cách sử dụng Mảng trong Excel VBA
  • Kiểm tra ứng dụng của chúng tôi

Ưu điểm của mảng là gì?

Sau đây là một số lợi ích được cung cấp bởi hàm mảng VBA

  1. Nhóm dữ liệu liên quan một cách hợp lý với nhau - giả sử bạn muốn lưu trữ danh sách sinh viên. Bạn có thể sử dụng một biến mảng duy nhất có các vị trí riêng biệt cho các loại học sinh, chẳng hạn như vườn mẫu giáo, tiểu học, trung học, trung học, v.v.
  2. Mảng giúp bạn dễ dàng viết mã có thể bảo trì. Đối với cùng một dữ liệu liên quan về mặt logic, nó cho phép bạn xác định một biến duy nhất, thay vì xác định nhiều hơn một biến.
  3. Hiệu suất tốt hơn - khi một mảng đã được xác định, việc truy xuất, sắp xếp và sửa đổi dữ liệu sẽ nhanh hơn.

Các loại mảng trong VBA

VBA hỗ trợ hai loại mảng cụ thể là;

  • Tĩnh - Các loại mảng này có một số phần tử được xác định trước cố định có thể được lưu trữ. Người ta không thể thay đổi kích thước kiểu dữ liệu của Mảng tĩnh. Những điều này rất hữu ích khi bạn muốn làm việc với các thực thể đã biết như số ngày trong tuần, giới tính, v.v.

    Ví dụ : Dim ArrayMonth (12) As String

  • Động - Các loại mảng này không có số lượng phần tử được xác định trước cố định có thể được lưu trữ. Chúng hữu ích khi làm việc với các thực thể mà bạn không thể xác định trước số lượng.

    Ví dụ : Dim ArrayMonth () As Variant

Cú pháp khai báo mảng

Mảng tĩnh

Cú pháp khai báo mảng STATIC như sau:

Dim arrayName (n) as datatype

ĐÂY,

Hoạt động
Dim arrayName (n) kiểu dữ liệu
  1. Nó khai báo một biến mảng được gọi là arrayName với kích thước là n và kiểu dữ liệu. Kích thước đề cập đến số phần tử mà mảng có thể lưu trữ.

Mảng động

Cú pháp khai báo mảng DYNAMIC như sau:

Dim arrayName() as datatypeReDim arrayName(4)

ĐÂY,

Hoạt động
Dim arrayName () kiểu dữ liệu
  1. Nó khai báo một biến mảng được gọi là arrayName mà không chỉ định số phần tử
ReDim arrayName (4)
  1. Nó chỉ định kích thước mảng sau khi mảng đã được xác định.

Kích thước mảng

Một mảng có thể là một chiều, hai chiều hoặc nhiều chiều.

  • Một thứ nguyên : Trong thứ nguyên này, mảng chỉ sử dụng một chỉ mục. Ví dụ, một số người ở mỗi độ tuổi.
  • Hai thứ nguyên : Trong thứ nguyên này, mảng sử dụng hai chỉ mục. Ví dụ, một số học sinh trong mỗi lớp. Nó yêu cầu số lớp và số học sinh trong mỗi lớp
  • Đa thứ nguyên : Trong thứ nguyên này, mảng sử dụng nhiều hơn hai chỉ mục. Ví dụ, nhiệt độ vào ban ngày. (30, 40, 20).

Cách sử dụng Mảng trong Excel VBA

Chúng tôi sẽ tạo một ứng dụng đơn giản. Ứng dụng này điền vào một trang tính Excel với dữ liệu từ một biến mảng. Trong ví dụ VBA Array này, chúng ta sẽ thực hiện những việc sau.

  • Tạo một sổ làm việc Microsoft Excel mới và lưu nó dưới dạng Excel Macro-Enabled Workbook (* .xlsm)
  • Thêm nút lệnh vào sổ làm việc
  • Đặt tên và thuộc tính chú thích của nút lệnh
  • Lập trình VBA điền trang tính Excel

Hãy thực hiện bài tập này từng bước,

Bước 1 - Tạo sổ làm việc mới

  1. Mở Microsoft Excel
  2. Lưu sổ làm việc mới dưới dạng VBA Arrays.xlsm

Bước 2 - Thêm nút lệnh

Lưu ý: Phần này giả sử bạn đã quen với quá trình tạo giao diện trong excel. Nếu bạn chưa quen, hãy đọc hướng dẫn VBA Excel Form Control & ActiveX Control. Nó sẽ hướng dẫn bạn cách tạo giao diện

  1. Thêm nút lệnh vào trang tính
  1. Đặt thuộc tính name thành cmdLoadBe Average
  2. Đặt thuộc tính chú thích thành Đồ uống có tải

GUI của bạn bây giờ sẽ như sau

Bước 3 - Lưu tệp

  1. Bấm vào nút lưu dưới dạng
  2. Chọn Excel Macro-Enabled Workbook (* .xlsm) như thể hiện trong hình ảnh bên dưới

Bước 4 - Viết mã

Bây giờ chúng tôi sẽ viết mã cho ứng dụng của chúng tôi

  1. Nhấp chuột phải vào nút Nạp đồ uống và chọn mã xem
  2. Thêm mã sau vào sự kiện nhấp chuột của cmdLoadBe Average
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(1) = "Pepsi"Drinks(2) = "Coke"Drinks(3) = "Fanta"Drinks(4) = "Juice"Sheet1.Cells(1, 1).Value = "My Favorite Beverages"Sheet1.Cells(2, 1).Value = Drinks(1)Sheet1.Cells(3, 1).Value = Drinks(2)Sheet1.Cells(4, 1).Value = Drinks(3)Sheet1.Cells(5, 1).Value = Drinks(4)End Sub

ĐÂY,

Hoạt động

Đồ uống Dim (1 đến 4) theo chuỗi

  • Nó khai báo một biến mảng có tên là Đồ uống. Chỉ số mảng đầu tiên là 1 và chỉ số mảng cuối cùng là 4.

Đồ uống (1) = "Pepsi"

  • Gán giá trị Pepsi cho phần tử mảng đầu tiên. Đoạn mã tương tự khác cũng thực hiện tương tự đối với các phần tử khác trong mảng.

Sheet1.Cells (1, 1) .Value = "Đồ uống ưa thích của tôi."

  • Ghi giá trị Đồ uống ưa thích của tôi vào địa chỉ ô A1. Sheet1 tham chiếu đến trang tính và Ô (1,1) tham chiếu đến hàng số 1 và cột 1 (B)

Sheet1.Cells (2, 1) .Value = Đồ uống (1)

  • Ghi giá trị của phần tử mảng có chỉ số 1 vào hàng số hai của cột 1

Kiểm tra ứng dụng của chúng tôi

Chọn tab nhà phát triển và đảm bảo rằng nút Chế độ thiết kế "tắt". Chỉ báo là, nó sẽ có nền trắng chứ không phải nền có màu (xanh lục). (Xem hình ảnh bên dưới)

Nhấp vào nút Nạp đồ uống

Bạn sẽ nhận được kết quả sau

Tải xuống Excel có chứa mã trên

Tải xuống mã Excel ở trên

Tóm lược

  1. Mảng là một biến có khả năng lưu trữ nhiều hơn một giá trị
  2. Excel VBA hỗ trợ mảng tĩnh và mảng động
  3. Mảng giúp bạn dễ dàng viết mã có thể bảo trì so với việc khai báo nhiều biến cho dữ liệu có liên quan về mặt logic.