cập nhật mới nhất ngày thứ nhất tháng 07 năm 2022: Như các bạn đã biết, Excel là một phần mềm nằm vào bộ Microsoft Office được Microsoft là một công ty của Mỹ thiết kế. Cùng với sự phổ biến mạnh mẽ của phần mềm bên trên toàn thế giới thì các nhà phát triển cũng ko ngừng thêm các ngôn ngữ vào phần mềm này. Mặc dù nhiên, vào VBA thì vẫn chưa thể nhận dạng tiếng Việt. Vậy nên, trong bài viết ngày bây giờ mình sẽ hướng dẫn các bạn 3 cách để gõ tiếng Việt vào VBA.Như các bạn đã biết, Excel là một phần mềm nằm trong bộ Microsoft Office được Microsoft là một công ty của Mỹ thiết kế. Cùng với sự phổ biến mạnh mẽ của phần mềm trên toàn thế giới thì các nhà phát triển cũng không ngừng thêm các ngôn ngữ vào phần mềm này. Mặc dù nhiên, trong VBA thì vẫn không thể nhận dạng tiếng Việt. Vậy nên, vào bài viết ngày lúc này mình sẽ hướng dẫn các bạn 3 cách để gõ tiếng Việt trong VBA.


Tạo ô phụ có tiếng Việt

Với cách thứ nhất, bước đầu tiên các bạn 1-1 giản chỉ cần ghi nội dung tiêu đề và nội dung thông báo vào nhì ô khác nhau bất kì.

Bạn đang xem: Lập trình vba trong excel tiếng việt

Tiếp theo các bạn mở hộp thoại Visual Basic bằng cách ở thẻ Developer chọn Visual Basic. Đây chính là vị trí chúng ta sẽ thao tác chính các bước tiếp theo.

Sau lúc hộp thoại trên hiện ra, các bạn ấn chuột phải vào chữ Sheet1 (đây là thương hiệu sheet hiện tại của các bạn, nếu bạn không vắt đổi thì tên mặc định là Sheet1) trong mục Project nằm ở phía bên trái, chọn Insert rồi chọn Module để tạo một module mới. Từ đây chúng ta sẽ viết code trực tiếp tại module này.

Đầu tiên các bạn nhập Sub goTiengViet() (goTiengViet là tên bởi vì mình đặt còn các bạn muốn đặt sao cũng được hết, ko có vấn đề gì cả) để khai báo thương hiệu của hàm này, khi nhập xong xuôi và ấn Enter thì hệ thống sẽ tự phát sinh thêm dòng End Sub ở mặt dưới. Sau đó chúng ta sẽ khai báo hai biến tieude và noidung thuộc kiểu chuỗi (string) chính là nội dung tiêu đề và nội dung thông báo cần lấy. Tiếp theo là đoạn code chính của chúng ta, ta sẽ gán tieude bằng với giá trị hiện tại của ô C4 (ô chứa nội dung tiêu đề vào sheet) và gán noidung với giá trị hiện tại của ô C5. Dòng cuối cùng sẽ là câu lệnh dùng để hiển thị thông báo, các bạn cứ nhập theo mình là được.

Đoạn code:

tieude = ActiveSheet.Range("C4").Value

noidung = ActiveSheet.Range("C5").Value

Application.Assistant.DoAlert tieude, noidung, msoAlertButtonOK, msoAlertIconInfo, 0, 0, 0

Sử dụng phép nỗi chuỗi và hàm Chrw

Với cách nhị thì chúng ta sẽ chũm đổi đoạn code trên một chút và không sử dụng giá trị từ nhì ô C4, C5 mà sử dụng trên phần mềm Word. Trước tiên các bạn mở Word lên rồi ở thẻ Developer chọn Record Macro. Ở hộp thoại hiện lên, tại mục Macro name các bạn hãy nhập một thương hiệu dễ gợi nhớ nhé.

Xem thêm: Cách Kết Nối Chuột Không Dây Với Tivi Lg Hệ Điều Hành Webos, Cách Kết Nối Chuột Không Dây Với Tivi Lg

Tiếp theo các bạn nhập nội dung tiêu đề vào phía dưới như thao tác đánh văn bản bình thường. Sau khi ghi xong các bạn ấn vào nút Stop Recording rồi ấn Visual Basic.

Ở hộp thoại hiện lên, các bạn ấn vào Normal, Modules rồi chọn NewMacros. Lúc này ngay bên phải sẽ là đoạn code mà chúng ta cần sao chép để gán vào biến tieude trong module bên Excel. Các bạn giữ ý chỉ sao chép từ đoạn sau dấu bằng nhé.

Làm hoàn toàn tương tự với phần nội dung, sau khi kết thúc chúng ta sẽ được kết quả như hình bên dưới. Các bạn lưu lại ý đối với cách làm này thì dòng cuối cùng các bạn vẫn giữ nguyên và không nạm đổi nhé.

Đoạn code:

tieude = "Tiêu " và ChrW(272) & "ê" và ChrW(768)

noidung = ChrW(272) và "ây la" & ChrW(768) & " phâ" và ChrW( _

768) & "n nô" & ChrW(803) và "i dung cu" và ChrW(777) và "a thông ba" & ChrW _

(769) và "o"

Sử dụng hàm để chuyển chuỗi nhập vào thành tiếng Việt

Bạn mua file code trên đây

Đối với cách thứ 3, chúng ta sẽ dùng thêm một hàm mặt ngoài để có thể chuyển đổi chuỗi nhập vào thành tiếng Việt (file hàm này mình sẽ đính kèm trong bài viết). Các bạn sao chép toàn bộ hàm này rồi dán ở mặt dưới chữ kết thúc Sub.

Tiếp theo với biến tieude và noidung chúng ta sẽ nhập như lúc chúng ta viết tiếng Việt có dấu tuy vậy không bật bộ gõ Tiếng Việt như hình bên dưới (ví dụ như tên sẽ ghi là teen). Ở dòng dưới cùng lúc này tham số đầu tiên của hàm DoAlert sẽ là giá trị trả về của hàm UniConvert với tham số đầu tiên là giá trị biến tieude và tham số thứ 2 là kiểu gõ (bao gồm Telex và VNI, các bạn chọn đúng kiểu rồi nhập vào thôi). Các bạn cũng là tương tự với biến noidung, những phần sau thì ko cần cầm đổi.

Đoạn code:

tieude = "Tieeu DDeef"

noidung = "DDaay laf phaafn nooji dung cura thoong baso"

Application.Assistant.DoAlert UniConvert(tieude, "Telex"), UniConvert(noidung, "Telex"), msoAlertButtonOK, msoAlertIconInfo, 0, 0, 0

Với cả 3 cách bên trên thì kết quả chúng ta thu được sẽ như hình bên dưới. Chúc các bạn thực hành tốt!