Hàm UBound VBA | Làm thế nào để sử dụng UBound trong Excel VBA?

UBOUND hay còn được gọi là Upper Bound, hàm này trong VBA được sử dụng với chức năng đối lập với nó là LBOUND hay còn được gọi là hàm Lower Bound, công dụng của hàm này là xác định độ dài của một mảng trong mã và như tên gợi ý UBOUND được sử dụng để xác định giới hạn trên của mảng.

Hàm VBA UBOUND

Làm thế nào để bạn cho biết độ dài tối đa của mảng trong excel? Có, chúng ta có thể xem và cập nhật độ dài tối đa của mảng theo cách thủ công nhưng nếu bạn đang làm tất cả những điều này thì hôm nay là kết thúc vì chúng ta có một hàm gọi là UBOUND để xác định độ dài tối đa của mảng. Hãy theo dõi bài viết này để có thêm kiến ​​thức về hàm UBOUND trong Excel VBA.

UBOUND là viết tắt của Upper Bound. Thông thường, trong quá trình viết mã, chúng ta có thể yêu cầu tìm độ dài tối đa của mảng. Ví dụ, MyResult (24) có nghĩa là tên mảng MyResult giữ 25 giá trị cho nó vì mảng bắt đầu từ 0, không phải từ một. Vì vậy, 24 có nghĩa là +1 tức là hoàn toàn có 25 giá trị.

Ở đây độ dài tối đa của mảng là 24, thay vì cung cấp độ dài mảng theo cách thủ công, chúng ta có thể sử dụng hàm tích hợp UBOUND để lấy độ dài tối đa của mảng.

Mã là: UBOUND (MyResult)  tức là UBOUND (24)

Vì vậy, hàm VBA UBOUND trong Excel đại diện cho giới hạn trên của kích thước mảng.

Làm cách nào để sử dụng Hàm UBound VBA trong Excel?

Công thức của VBA UBOUND rất đơn giản vì nó chỉ có hai tham số.

UBound (Tên mảng [, Thứ nguyên])
  • Array Name: Đây là tên của tên mảng mà chúng ta đã xác định. Ví dụ, trong ví dụ trên, MyResult là tên mảng.
  • [Kích thước]: Nếu mảng có nhiều hơn một chiều thì chúng ta cần chỉ định chiều của mảng. Nếu bạn bỏ qua, nó sẽ coi thứ nguyên đầu tiên theo mặc định.

Hàm VBA UBOUND trong Excel rất hữu ích trong việc xác định độ dài của các vòng lặp trong khi chạy các vòng lặp.

Ví dụ về hàm UBOUND trong Excel VBA

Dưới đây là các ví dụ thực tế về Hàm UBound VBA.

Bạn có thể tải mẫu hàm UBound VBA này tại đây - Mẫu hàm UBound VBA

Ví dụ 1

Để bắt đầu thủ tục, hãy để tôi viết mã đơn giản. Làm theo các bước dưới đây để áp dụng chức năng VBA UBOUND.

Bước 1: Khởi động macro excel và xác định tên biến.

Mã:

 Sub Ubound_Example1 () Độ dài mảng mờ (0 đến 4) dưới dạng chuỗi 

Bước 2: Tôi sẽ gán giá trị cho tên mảng này.

Mã:

 Sub Ubound_Example1 () Dim ArrayLength (0 đến 4) As String ArrayLength (0) = "Xin chào" ArrayLength (1) = "Bạn bè" ArrayLength (2) = "Chào mừng" ArrayLength (3) = "đến" ArrayLength (4) = "Lớp VBA" Kết thúc Sub 

Bước 3: Bây giờ sử dụng hộp thông báo với hàm UBOUND, chúng ta sẽ thấy độ dài tối đa của mảng.

Mã:

 Sub Ubound_Example1 () Dim ArrayLength (0 đến 4) As String ArrayLength (0) = "Xin chào" ArrayLength (1) = "Bạn bè" ArrayLength (2) = "Chào mừng" ArrayLength (3) = "đến" ArrayLength (4) = "Lớp VBA" MsgBox "Độ dài đường biên trên là:" & UBound (ArrayLength) End Sub 

Bước 4: Chạy mã này, bằng cách nhấn phím F5 hoặc bạn cũng có thể chạy mã theo cách thủ công như được hiển thị trong ảnh chụp màn hình bên dưới.

hộp thông báo sẽ hiển thị cho bạn số giới hạn trên của mảng sẽ được hiển thị trong hộp thông báo.

Như thế này bằng cách sử dụng hàm VBA UBOUND trong Excel, chúng ta có thể lấy độ dài giới hạn trên của một mảng.

Ví dụ # 2 - Sử dụng Hàm VBA UBOUND trong Excel để sao chép dữ liệu

Giả sử bạn có một danh sách dữ liệu trong một trang tính excel như bên dưới.

Dữ liệu này sẽ cập nhật hàng ngày và bạn cần sao chép dữ liệu này vào trang tính mới mỗi khi cập nhật. Việc cập nhật điều này theo cách thủ công sẽ mất một lượng thời gian đáng kể tại nơi làm việc của bạn nhưng tôi sẽ chỉ cho bạn mã macro đơn giản để tự động hóa việc này.

Bước 1: Tạo macro và xác định biến mảng.

Mã:

 Sub Ubound_Example2 () Dim DataRange () Làm biến thể End Sub 

Bước 2: Bây giờ kích hoạt biểu dữ liệu bằng cách tham chiếu đến tên của nó.

Mã:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Kích hoạt End Sub 

Bước 3: Bây giờ chỉ định phạm vi dữ liệu cho biến đã xác định bằng cách sử dụng đoạn mã dưới đây.

Mã:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Kích hoạt DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) End Sub 

Bước 4: Bây giờ thêm một trang tính mới vào sổ làm việc.

Mã:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Kích hoạt DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) Worksheets.Add End Sub 

Bước 5: Bây giờ thêm dữ liệu vào trang tính mới được thêm bằng cách sử dụng hàm VBA UBOUND trong Excel ở dạng mã bên dưới.

Mã:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Kích hoạt DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) Worksheets.Add Range (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange End Sub 

Đoạn mã trên sẽ bù đắp các ô bằng độ dài tối đa do hàm UBOUND trả về và phạm vi này sẽ bằng giá trị của tên mảng “ DataRange

Bước 6: Bây giờ chạy mã này, nó sẽ dán giá trị vào trang tính mới.

Mã này là một mã động vì ngay cả khi dữ liệu tăng theo chiều ngang và chiều dọc, nó sẽ tự động lấy phạm vi. Bây giờ tôi sẽ thêm một số dòng giả vào dữ liệu.

Bây giờ tôi sẽ chạy lại đoạn mã này một lần nữa, nó cũng sẽ thêm các dòng mới được thêm vào.

Mã:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Kích hoạt DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) Worksheets.Add Range (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Erase DataRange End Sub 

Những điều cần ghi nhớ

  • UBOUND trả về độ dài tối đa của mảng.
  • Mảng bắt đầu từ 0, không phải từ 1.
  • Nếu bạn muốn giá trị thấp hơn của mảng thì bạn cần sử dụng VBA LBOUND.
  • Nếu mảng có nhiều hơn một thứ nguyên thì bạn cũng cần chỉ định số thứ nguyên.

$config[zx-auto] not found$config[zx-overlay] not found