Văn bản VBA | Làm thế nào để sử dụng Hàm Văn bản trong VBA Excel? (với các ví dụ)

Văn bản là một hàm trang tính trong excel nhưng nó cũng có thể được sử dụng trong VBA khi sử dụng thuộc tính dải ô với nó, hàm cho hàm này tương tự như hàm trang tính và nó có cùng số lượng đối số là các giá trị cần phải có được chuyển đổi và một định dạng số cụ thể.

Hàm văn bản VBA trong Excel

TEXT là hàm có sẵn với trang tính nhưng rất tiếc, nó không phải là hàm tích hợp sẵn trong Excel VBA. Để truy cập hàm này, chúng ta cần sử dụng đối tượng lớp hàm trang tính trong VBA. Hàm văn bản trong Excel chuyển đổi một giá trị sang một định dạng số được chỉ định.

Một trong những vấn đề với hàm này là các đối số. Bất cứ khi nào chúng ta sử dụng lớp hàm bảng tính VBA, chúng ta sẽ không thấy cú pháp rõ ràng giống như trong bảng tính của mình. Nó chỉ nói "Arg1" và "Arg2".

  • Arg1 là giá trị chúng ta cần để áp dụng định dạng.
  • Arg2 là định dạng chúng ta cần áp dụng và chúng ta cần chỉ định mã định dạng.

Ví dụ về hàm văn bản VBA trong Excel

Dưới đây là các ví dụ về Hàm văn bản VBA trong Excel.

Bạn có thể tải xuống Mẫu VBA Text Excel này tại đây - Mẫu VBA Text Excel

Ví dụ 1

Hãy để tôi chỉ cho bạn một ví dụ đơn giản về TEXT trong VBA Excel. Nhìn vào đoạn mã dưới đây trong Visual Basic.

Mã:

 Sub Text_Example1 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 0.564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub 

Đầu tiên tôi đã khai báo hai biến dưới dạng một chuỗi trong VBA

 Dim FormattingValue As String Dim FormattingResult As String 

Đối với biến đầu tiên, tôi đã chỉ định số định dạng mà chúng ta cần định dạng.

FormattingValue = 0,564

Bây giờ đối với một biến khác, tôi đã gán hàm TEXT.

FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")

Nếu bạn quan sát, tôi đã áp dụng định dạng thời gian, tức là “hh: mm: ss AM / PM”

Sau đó, cuối cùng tôi đã áp dụng một hộp thông báo VBA để hiển thị kết quả.

MsgBox FormattingResult

Khi tôi chạy mã TEXT hàm sẽ áp dụng định dạng thời gian cho số 0,564 và hiển thị kết quả như bên dưới.

Vì vậy, chúng tôi có thời gian là “ 01:32:10 PM ”.

Ví dụ số 2

Tương tự như ví dụ về định dạng ngày tháng, chúng tôi đã thực hiện một số thay đổi nhỏ trong ví dụ này. Dưới đây là mã.

Mã:

 Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult End Sub 

Từ mã trước đó, tôi đã thay đổi Giá trị định dạng từ 0,565 thành 43585 và thay đổi kiểu định dạng là “DD-MMM-YYYY”.

Điều này sẽ áp dụng định dạng cho số 43585 làm ngày và kết quả như sau.

Áp dụng định dạng cho các ô

Chúng ta đã thấy các ví dụ đơn giản, bây giờ hãy xem cách làm việc với các ô trong trang tính. Đối với ví dụ này, hãy xem dữ liệu dưới đây.

Đối với tất cả những con số này, chúng ta cần áp dụng định dạng thời gian. Đối với mã này dưới đây sẽ áp dụng định dạng.

Mã:

 Sub Text_Example3 () Dim k As Integer For k = 1 to 10 Cells (k, 2) .Value = WorksheetFunction.Text (Cells (k, 1) .Value, "hh: mm: ss AM / PM") Tiếp theo k Kết thúc Phụ 

Mã này sẽ lặp qua 10 ô và áp dụng định dạng như bên dưới.

Như thế này, bằng cách sử dụng hàm VBA TEXT, chúng ta có thể áp dụng định dạng số cho các ô.


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