Đối tượng VBA

Mục lục

Các đối tượng VBA trong Excel đề cập đến các “thực thể” đơn lẻ được tạo thành từ mã và dữ liệu. Bản thân ứng dụng Excel là một đối tượng, cũng như sổ làm việc, trang tính, phạm vi ô và hình dạng. Mọi đối tượng đều có các thuộc tính và phương thức liên quan. Các đối tượng cũng có thể chứa các đối tượng khác và đối tượng bộ sưu tập được sử dụng để tham chiếu đến một nhóm các đối tượng Excel giống nhau.

Trong hướng dẫn này, chúng ta sẽ xem xét một số Đối tượng Excel thường được sử dụng.

Đối tượng ứng dụng

Đối tượng Ứng dụng đề cập đến toàn bộ ứng dụng Excel. Đối tượng Ứng dụng chứa đối tượng sổ làm việc.

Đoạn mã sau sử dụng thuộc tính WindowState của đối tượng Ứng dụng để đặt cửa sổ Excel thành kích thước tối đa có sẵn:

12345 Sub MaximizingTheExcelWindow ()Application.WindowState = xlMaximizedKết thúc Sub

Đối tượng Workbooks

Đối tượng Workbooks đề cập đến bộ sưu tập của tất cả các sổ làm việc Excel hiện đang mở.

Đoạn mã sau sử dụng phương thức Workbooks.Add để tạo một sổ làm việc mới và thêm nó vào bộ sưu tập:

12345 Thêm phụANewWorkbookToTheWorkbooksCollection ()Workbooks.AddKết thúc Sub

Bạn có thể truy cập một sổ làm việc riêng lẻ trong bộ sưu tập Sổ làm việc thông qua số chỉ mục hoặc tên của nó. Vì vậy, bạn có thể tham khảo Workbook được gọi là ExcelWb, bằng cách sử dụng Workbooks (“ExcelWB”).

Đối tượng sổ làm việc

Đối tượng sổ làm việc là một phần của bộ sưu tập Sổ làm việc. Đối tượng sổ làm việc chứa bộ sưu tập trang tính (worksheets) và bộ sưu tập trang tính (trang tính, trang biểu đồ và macro). Đối tượng ActiveWorkbook tham chiếu đến sổ làm việc đang hoạt động.

Đoạn mã sau sử dụng phương thức ActiveWorkbook.Save để lưu sổ làm việc đang hoạt động hiện tại:

12345 Sub SavingTheWorkbook ()ActiveWorkbook.SaveKết thúc Sub

Đối tượng Trang tính

Đối tượng trang tính đề cập đến tập hợp tất cả các trang tính, trang biểu đồ và macro trong sổ làm việc. Đoạn mã sau sử dụng phương thức Sheets.Add để thêm một trang tính mới được gọi là ExtraSheet, sau trang tính cuối cùng trong sổ làm việc:

123456 Thêm SubANewSheet ()ActiveWorkbook.Sheets.Add (Sau: = ActiveWorkbook.Worksheets (Worksheets.Count), Đếm: = 1, _Nhập: = xlWorksheet) .Name = "ExtraSheet"Kết thúc Sub

Lưu ý cú pháp của phương thức Sheets.Add là:
Sheets.Add (Trước, Sau, Đếm, Kiểu) ở đâu:

-Before là tùy chọn và chỉ định rằng trang tính mới nên được thêm vào trước trang tính hiện có.

-Sau đó là tùy chọn và chỉ định rằng trang tính mới sẽ được thêm vào sau trang tính hiện có.

-Count là tùy chọn và chỉ định số lượng trang tính để thêm.

-Type là tùy chọn và chỉ định loại trang tính. xlWorksheet sẽ thêm một trang tính mới, xlChart sẽ thêm một trang biểu đồ mới và xlExcel4MacroSheet hoặc xlExcel4IntlMacroSheet sẽ thêm một macro mới. Nếu trống, biểu xlWorksheet mặc định được sử dụng.

Bạn có thể truy cập một trang tính riêng lẻ trong bộ sưu tập Trang tính thông qua số chỉ mục hoặc tên của trang tính đó. Vì vậy, bạn có thể tham khảo một Trang tính có tên là SheetOne, bằng cách sử dụng Trang tính (“SheetOne”).

Đối tượng trang tính

Đối tượng Worksheets đề cập đến tập hợp tất cả các trang tính trong một sổ làm việc. Đoạn mã sau sử dụng phương thức Worksheets.Add để thêm một trang tính mới:

12345 Thêm SubANewSheet ()Worksheets.AddKết thúc Sub

Bạn có thể truy cập một trang tính riêng lẻ trong bộ sưu tập Trang tính thông qua số chỉ mục hoặc tên của trang tính đó. Vì vậy, bạn có thể tham khảo một Trang tính có tên là SheetTwo, bằng cách sử dụng Worksheets (“SheetTwo”).

Đối tượng trang tính

Đối tượng trang tính là một phần của bộ sưu tập Trang tính. Đối tượng trang tính chứa đối tượng phạm vi và các đối tượng khác. Đối tượng ActiveSheet đề cập đến trang tính đang hoạt động.

Đoạn mã sau thay đổi hướng trang của trang tính hiện hoạt thành nằm ngang:

12345 Thay đổi phụOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeKết thúc Sub

Lưu ý rằng đối tượng Trang tính chứa đối tượng PageSetup và thuộc tính định hướng của nó được đặt thành xlLandscape.

Đối tượng phạm vi

Đối tượng Phạm vi có thể tham chiếu đến một ô hoặc một tập hợp các ô trong trang tính. Đoạn mã sau cho bạn biết cách sử dụng phương pháp Range.Select để chọn các ô A1: B1:

12345 Lựa chọn phụARange ()Phạm vi ("A1: B1"). ChọnKết thúc Sub

Đối tượng hình dạng

Đối tượng Shapes đề cập đến tập hợp tất cả các hình dạng trong một trang tính. Đoạn mã sau sẽ chọn tất cả các hình dạng trên ActiveSheet:

12345 Sub SelectionAllTheShapes ()ActiveSheet.Shapes.SelectAllKết thúc Sub

Đối tượng hình dạng

Đối tượng Hình dạng là một phần của bộ sưu tập Hình dạng. Đoạn mã sau sẽ tạo một hình dạng hình chữ nhật tròn và sau đó đặt thuộc tính tên của đối tượng hình dạng:

123456789 Sub bằngTheShapeObject ()Với Worksheets (1) .Shapes.AddShape (msoShapeRoundsRectangle, _200, 100, 80, 80).Name = "A Rounded Rectangle"Kết thúc vớiKết thúc Sub

Mô hình đối tượng VBA trong Excel

Mô hình Đối tượng VBA của Excel mô tả hệ thống phân cấp của tất cả các đối tượng bạn có thể sử dụng trong Excel. Ví dụ, bạn có thể sử dụng đối tượng Workbooks để tham chiếu đến tất cả các đối tượng khác một cách gián tiếp hoặc trực tiếp. Đoạn mã sau cho bạn biết cách chọn ô A1, sử dụng cấu trúc phân cấp:

12345 Sub Sử dụngTheHierachicalStructure ()Workbooks ("Book1"). Worksheets ("Sheet1"). Phạm vi ("A1"). ChọnKết thúc Sub

Khai báo và gán một biến đối tượng

Bạn có thể khai báo và gán một đối tượng cho một biến bằng cách sử dụng các từ khóa Dim và Set.

Ví dụ:

12 Làm mờ ws dưới dạng trang tínhĐặt ws = ActiveWorkbook.ActiveSheet

Đoạn mã sau chỉ cho bạn cách khai báo và gán đối tượng Phạm vi cho một biến:

12345678910111213141516 Chỉ định phụARangeToAVariable ()Dim rngOne As ObjectĐặt rngOne = Range ("A1: C1")rngOne.Font.Bold = ĐúngVới rngOne.Font.Bold = True.Font.Name = "Calibri".Font.Size = 9.Font.Color = RGB (35, 78, 125).Interior.Color = RGB (205, 224, 180).Borders (xlEdgeBottom) .LineStyle = xlContinuousKết thúc vớiKết thúc Sub

Kết quả là:

Điều cần thiết là phải hiểu cách các đối tượng hoạt động để thành thạo VBA. Bạn có thể tìm hiểu thêm với Hướng dẫn VBA tương tác của chúng tôi.

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