Nếu bạn đang phát triển một trang tính cho người khác sử dụng, bạn có thể muốn họ luôn nhập thông tin bằng chữ hoa. Excel cung cấp một hàm trang tính cho phép bạn chuyển đổi thông tin sang chữ hoa, nhưng nó không áp dụng vì mọi người đang thực sự nhập thông tin. Ví dụ: nếu ai đó nhập thông tin vào ô B6, thì hàm trang tính không thể được sử dụng để chuyển đổi thông tin trong B6 thành chữ hoa.

Thay vào đó, bạn phải sử dụng macro để thực hiện thay đổi cho bạn. Khi lập trình trong VBA, bạn có thể buộc Excel chạy một macro cụ thể bất cứ khi nào có bất kỳ điều gì thay đổi trong ô trang tính. Macro sau có thể được sử dụng để chuyển đổi tất cả đầu vào trang tính thành chữ hoa:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.HasFormula Then Exit Sub         Application.EnableEvents = False         Target = UCase(Target.Cells(1))

Application.EnableEvents = True End Sub

Tuy nhiên, để macro hoạt động, nó phải được nhập vào một nơi cụ thể.

Làm theo các bước sau để đặt macro:

  1. Hiển thị VBA Editor bằng cách nhấn Alt + F11.

  2. Trong cửa sổ Dự án, ở bên trái của Trình chỉnh sửa, bấm đúp vào tên của trang tính bạn đang sử dụng. (Trước tiên, bạn có thể cần mở thư mục VBAProject, sau đó mở thư mục Microsoft Excel Objects bên dưới nó.)

  3. Trong cửa sổ mã cho trang tính, hãy dán macro ở trên.

  4. Đóng VBA Editor.

Giờ đây, bất kỳ thứ gì (ngoại trừ công thức) được nhập vào bất kỳ ô nào của trang tính sẽ được tự động chuyển thành chữ hoa. Nếu bạn không muốn mọi thứ được chuyển đổi, nhưng chỉ các ô trong một vùng cụ thể của trang tính, bạn có thể sửa đổi macro một chút:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not (Application.Intersect(Target, Range("A1:B10")) _       Is Nothing) Then         With Target             If Not .HasFormula Then                 Application.EnableEvents = False                 .Value = UCase(.Value)

Application.EnableEvents = True             End If         End With     End If End Sub

Trong ví dụ cụ thể này, chỉ văn bản được nhập trong các ô A1: B10 mới được chuyển đổi; mọi thứ khác sẽ được để lại như đã nhập. Nếu bạn cần chuyển đổi một phạm vi khác, hãy chỉ định phạm vi đó trong dòng thứ hai của macro.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (9813) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: