VBA Mảng đối tượng

Mục lục

Hướng dẫn này sẽ trình bày cách tạo và sử dụng các mảng đối tượng trong VBA.

Trong VBA, Mảng là các biến lưu trữ nhiều giá trị. Bạn có thể lưu trữ các Đối tượng VBA trong mảng theo cách giống như cách bạn lưu trữ bất kỳ dữ liệu nào khác.

Khai báo mảng đối tượng

Trong ví dụ này, chúng tôi sẽ khai báo một mảng các trang tính VBA:

1 Dim arWks (3) Dưới dạng trang tính

Đưa vào một mảng đối tượng tĩnh

Khai báo Mảng đối tượng là Tĩnh, sau đó bạn có thể điền mảng bằng các trang tính mà bạn chọn từ sổ làm việc của mình.

12345678 Sub TestObjArray ()'xác định mảng như một mảng trang tínhDim arWks (1 đến 3) dưới dạng trang tính'thêm 3 trang tính vào mảngđặt arWks (1) = Trang tính (1)đặt arWks (2) = Trang tính (2)Đặt arWks (3) = Trang tính (3)Kết thúc Sub

Đưa vào một mảng đối tượng động

Bạn có thể khai báo Mảng Đối tượng là Động, sau đó đếm các trang tính trong sổ làm việc trước khi gán kích thước mảng cho Mảng Đối tượng.

1234567891011121314 Sub TestObjArray ()'xác định mảng như một mảng trang tínhDim arWks () As Worksheet'đếm có bao nhiêu trang tính trong tệp và làm mờ lại mảngDim n As IntegerDim i As Integer'đếm các trang tính và trừ đi một trang để đặt giới hạn cho mảngn = Application.Sheets.Count - 1ReDim arWks (n)'điền vào mảng trang tính với tất cả các trang tính trong sổ làm việcĐối với i = LBound (arWks) đến UBound (arWks)Đặt arWks (i) = ActiveWorkbook.Sheets (i + 1)Tiếp theo tôiKết thúc Sub

Trong ví dụ trên, trước tiên chúng ta khai báo Mảng Trang tính. Sau đó, chúng tôi đếm số trang tính trong sổ làm việc và gán giá trị đó trừ đi một cho UBound của Mảng. Điều này là do thực tế là LBound của mảng bắt đầu bằng 0. Cuối cùng, chúng tôi lặp qua các trang tính và thêm từng trang tính vào mảng.

Sử dụng mảng đối tượng trong mã VBA

Khi chúng ta đã điền mảng Bảng tính, chúng ta có thể sử dụng VBA để lặp qua mảng.

123456789101112131415161718 Sub TestObjArray ()'xác định mảng như một mảng trang tínhDim arWks () As Worksheet'đếm có bao nhiêu trang tính trong tệp và làm mờ lại mảngDim n As IntegerDim i As Integer'đếm các trang tính và trừ đi một trang để đặt giới hạn cho mảngn = Application.Sheets.Count - 1ReDim arWks (n)'điền vào mảng trang tính với tất cả các trang tính trong sổ làm việcĐối với i = LBound (arWks) đến UBound (arWks)Đặt arWks (i) = ActiveWorkbook.Sheets (i + 1)Tiếp theo tôi'làm điều gì đó với mọi trang tính trong mảngĐối với i = LBound (arWks) đến UBound (arWks)arWks (i) .Range ("A1: H1"). Font.Bold = TrueTiếp theo tôiKết thúc Sub

Trong ví dụ trên, chúng ta lặp qua mảng và Bold hàng đầu tiên của mỗi trang tính trong mảng.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave