Activecell bù đắp VBA

Hướng dẫn này sẽ trình bày cách sử dụng Activecell Offset trong VBA.

ActiveCell là một thuộc tính của VBA đại diện cho địa chỉ ô của ô hiện hoạt trong trang tính của bạn. Nếu con trỏ chuột của bạn được định vị trong ô A1 thì thuộc tính ActiveCell trong VBA sẽ trả về địa chỉ ô của “A1”. Đây là một số thuộc tính và phương thức được kết nối với ActiveCell. Trong bài viết này, chúng tôi tập trung vào phương thức ActiveCell.Offset.

Thuộc tính và phương thức ActiveCell.Offset

Activecell.Offset có một số thuộc tính và phương thức có sẵn để được lập trình với VBA. Để xem các thuộc tính và phương thức có sẵn, hãy nhập câu lệnh sau vào một quy trình như được hiển thị bên dưới, và nhấn phím dấu chấm trên bàn phím để xem danh sách thả xuống.

Các phương thức được mô tả bằng biểu tượng phương thức màu xanh lá cây và các thuộc tính bằng biểu tượng bàn tay nhỏ. Các thuộc tính và phương thức của phương thức Activecell.Offset cũng giống như phương thức Activecell.

Cú pháp ActiveCell.Offset

Cú pháp của Activecell.Offset như sau

trong đó RowOffset và ColumnOffset là số hàng cần bù (số dương cho giá trị giảm, số âm cho số lên) hoặc số cột bạn muốn bù đắp (số dương lệch sang bên phải, số âm ở bên trái).

ActiveCell.Offset… Chọn

Các Activecell.Offset… Chọn là phương pháp được sử dụng phổ biến nhất đối với phương thức Activecell.Offset. Nó cho phép bạn di chuyển đến một ô khác trong trang tính của mình. Bạn có thể sử dụng phương pháp này để di chuyển qua các cột hoặc lên hoặc xuống các hàng trong trang tính của mình.

Để di chuyển xuống một hàng, nhưng vẫn ở trong cùng một cột:

1 Activecell.Offset (1,0) .Select

Để di chuyển qua một cột, nhưng vẫn ở trên cùng một hàng:

1 Activecell.Offset (0,1). Chọn

Để di chuyển xuống một hàng và qua một cột:

1 Activecell.Offset (1,1) .Select

Để di chuyển lên một hàng:

1 Activecell.Offset (-1,0) .Select

Để di chuyển sang trái một cột:

1 Activecell.Offset (0, -1) .Select

Trong quy trình bên dưới, chúng ta đang lặp qua một dải ô và di chuyển xuống một hàng và qua một cột khi chúng ta thực hiện vòng lặp:

12345678 Sub ActiveCellTest ()Dim x As IntegerPhạm vi ("A1"). ChọnĐối với x = 1 đến 10ActiveCell = xActiveCell.Offset (1, 1) .SelectTiếp theo xKết thúc Sub

Kết quả được hiển thị trong hình bên dưới:

Vòng lặp đặt giá trị của i (1-10) vào Tế bào hoạt độngvà sau đó nó sử dụng Activecell.Offset để di chuyển xuống một hàng và qua một cột bên phải - lặp lại vòng lặp này 10 lần.

Lập trình VBA | Code Generator làm việc cho bạn!

Sử dụng Đối tượng Phạm vi với Activecell.Offset Select

Việc sử dụng Đối tượng Phạm vi với ô đang hoạt động đôi khi có thể khiến một số người nhầm lẫn.

Hãy xem xét quy trình sau:

1234 Sub ActiveCellOffsetRange ()Phạm vi ("B1: B10"). ChọnActiveCell.Offset (1, 1) .Range ("A1"). ChọnKết thúc Sub

Với ActiveCell.Offset (1,1.Range (“A1”), Phạm vi (“A1”) đã được chỉ định. Tuy nhiên, điều này không có nghĩa là ô A1 trong trang tính sẽ được chọn. Vì chúng tôi đã chỉ định Phạm vi (“B1: B10”), ô A1 trong phạm vi đó thực sự là ô B1 trong sổ làm việc. Do đó, ô sẽ được bù đắp bởi 1 hàng và 1 cột từ ô B1 KHÔNG từ ô A1.

Do đó, Phạm vi (“A1 ′) trong trường hợp này là không bắt buộc vì macro sẽ hoạt động theo cùng một cách với nó hoặc không có nó.

Các lựa chọn thay thế cho ActiveCell

Thay vì sử dụng Activecell với phương thức Offset, chúng ta cũng có thể sử dụng đối tượng Range với phương thức Offset.

123 Sub RangeOffset ()Phạm vi ("B1"). Chênh lệch (0, 1). ChọnKết thúc Sub

Quy trình trên sẽ chọn ô C1 trong trang tính.

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