VBA để chuyển đổi văn bản từ chữ thường sang chữ hoa
Chúng ta biết cách chuyển đổi văn bản chữ thường thành chữ hoa trên trang tính nhưng làm cách nào để chuyển chữ thường thành chữ hoa bằng VBA? Trong khi tự động hóa quy trình, bạn có thể cần chuyển văn bản trên trang tính sang chữ hoa.
Trên trang tính, chúng tôi sử dụng UPPER function thành chữ thường thành uppecase. Trong VBA, chúng ta có một chức năng tương tự.
Tên của chức năng là UCase. UCase là viết tắt của UpperCase.
Cú pháp của UCase Hàm:
= UCase (String)
Herestring có thể là một chuỗi mã cứng hoặc một tham chiếu đến chuỗi.
Vì vậy, bây giờ chúng ta đã biết về hàm có thể được sử dụng để thay đổi chữ thường thành chuỗi chữ hoa, hãy sử dụng nó trong một ví dụ thực tế.
Chuyển đổi tất cả văn bản trên trang tính sang chữ hoa Ở đây chúng ta có một nhiệm vụ đơn giản là chuyển đổi tất cả văn bản của một trang tính nhất định trong sổ làm việc sang chữ hoa. L Để lấy mã chuyển văn bản thành chữ hoa; chúng ta cần làm theo các bước dưới đây để khởi chạy trình soạn thảo VB Nhấp vào tab Nhà phát triển Từ nhóm Mã, chọn Visual Basic
Sao chép mã dưới đây vào mô-đun trang tính (không phải mô-đun bình thường).
Sub UpperCaseCode1 () Application.ScreenUpdating = False Dim Rng As Range Dim c As Range On Error Resume Next Set Rng = Cells.SpecialCells (xlCellTypeConstants, 2) For Each c In Rng c.Value = UCase (c.Value) Next c Application.ScreenUpdating = True End Sub
Nó hoạt động như thế nào?
Đoạn mã trên được viết trong mô-đun sheet1. Đoạn mã trên sẽ chuyển đổi tất cả văn bản trên sheet1 thành chữ hoa.
Các dòng chính trong đoạn mã trên là:
Set Rng = Cells.SpecialCells (xlCellTypeConstants, 2) For Each c Trong Rng c.Value = UCase (c.Value) Tiếp theo c
Ở đây chúng ta sử dụng hàm SpecialCells của lớp Cells và truyền các đối số xlCellTypeConstants. Nó trả về một bảng liệt kê các ô và phạm vi có chứa hằng số.
Tiếp theo, chúng ta sử dụng vòng lặp for để lặp lại từng ô trong phép liệt kê. Tiếp theo chúng ta thay đổi giá trị ô đó bằng cách sử dụng hàm UCase.
Ở đây câu lệnh`c.Value = UCase (c.Value) `cập nhật các giá trị trong mỗi ô bằng văn bản viết hoa.
Ví dụ 2: Chuyển đổi văn bản của cột A thành chữ hoa.
Trong ví dụ này, chúng ta chỉ có nhiệm vụ chuyển đổi cột văn bản A. Bạn có thể muốn thực hiện việc này khi các cột cụ thể chứa văn bản đặc biệt chỉ cần được viết hoa.
Sub UpperCaseCode2 ()
ʻApplication.ScreenUpdating = False Dim cell As Range For Each cell In Range (“$ A $ 1:” & Range (“$ A $ 1”). SpecialCells (xlLastCell) .Address) If Len (cell) > 0 Sau đó ô = UCase (ô) Ô tiếp theo Application.ScreenUpdating = True End Sub`
Mã gần giống như ví dụ trước. Thay đổi duy nhất mà chúng tôi có là những dòng này:
For Each cell In Range (" $ A $ 1: "& Range (" $ A $ 1 "). SpecialCells (xlLastCell) .Address) If Len (cell)> 0 Then cell = UCase (cell) Ô tiếp theo
Ở đây chúng ta tạo một dải động sử dụng dòng Range (" $ A $ 1: "& Range (" $ A $ 1 "). SpecialCells (xlLastCell) .Address)
. Dòng này tạo một phạm vi bắt đầu từ ô A1 đến ô cuối cùng chứa bất kỳ giá trị nào trong cột A.
Sau đó, chúng tôi lặp qua từng ô và cập nhật nó bằng các chuỗi chữ hoa của chính nó.
Bạn có thể tải xuống tệp bên dưới.
Vì vậy, các bạn, đây là cách bạn có thể cập nhật văn bản chữ thường thành văn bản viết hoa. Tôi hy vọng tôi đã giải thích đủ. Nếu bạn có bất kỳ nghi ngờ nào về bài viết này hoặc bất kỳ truy vấn liên quan đến VBA nào khác. Hỏi tôi trong phần bình luận bên dưới.
Bài viết liên quan:
Hàm REPLACE sử dụng vị trí của văn bản trong chuỗi để thay thế nó.
Bài viết phổ biến:
Bạn không cần phải lọc dữ liệu của mình để đếm các giá trị cụ thể. Chức năng Countif là cần thiết để chuẩn bị bảng điều khiển của bạn.