Conrad muốn bắt chước khả năng “viết hoa nhỏ” của Word trong Excel. Cách duy nhất anh ta có thể nghĩ để làm điều này là phát triển một macro theo từng nhân vật trong một ô. Nếu ký tự là chữ thường và 11 pt, thì macro sẽ thay đổi ký tự thành chữ hoa 9 pt.

Nếu ký tự là chữ hoa (hoặc không phải là chữ cái), thì nó sẽ không bị ảnh hưởng. Vấn đề là, Conrad không biết làm thế nào để ảnh hưởng đến định dạng của các ký tự riêng lẻ trong ô theo cách được mô tả.

Khi sử dụng macro để chỉ ảnh hưởng đến các ký tự nhất định trong ô, bạn nên nhớ rằng mỗi ô có bộ sưu tập Ký tự riêng có thể được truy cập và sửa đổi. Mỗi phần tử trong bộ sưu tập đại diện, như bạn có thể mong đợi, một ký tự duy nhất trong ô.

Điều này cho phép chúng tôi kết hợp một macro để kiểm tra những gì hiện có trong ô và nếu ký tự hiện đang là chữ thường, chỉ chuyển đổi ký tự đó thành chữ hoa và giảm kích thước phông chữ của ký tự đó.

Sub SmallCaps()

Dim rCell As Range     Dim sWords As String     Dim sCharacter As String     Dim x As Long

'go through each cell in selection     For Each rCell In Selection         'Don't want to work on formulas         If Not rCell.HasFormula Then             sWords = rCell.Value 'Get the cell contents             For x = 1 To Len(sWords) 'Act on each letter                 sCharacter = Mid(sWords, x, 1)

If sCharacter >= "a" And sCharacter <= "z" Then                     'sCharacter is a lowercase letter                     With rCell.Characters(Start:=x, Length:=1)

'Decrease the font size by 2                         .Font.Size = .Font.Size - 2                         'Make character uppercase                         .Text = UCase(sCharacter)

End With                 End If             Next         End If     Next End Sub

Macro này thực hiện công việc của nó trên bất kỳ ô nào được chọn khi nó được chạy.

Nó kiểm tra để đảm bảo rằng ô không chứa công thức (các công thức bị bỏ qua), sau đó nó thực hiện bất kỳ sửa đổi nào đối với các ký tự viết thường trong ô.

Có những hạn chế khi sử dụng macro như thế này, và bạn nên biết về chúng. Hạn chế lớn nhất là nó thực sự sửa đổi những gì có trong các ô. Khi hoàn tất, các ô sẽ chứa tất cả văn bản viết hoa, mặc dù định dạng có thể khiến nó trông giống như chữ hoa nhỏ. Điều này có nghĩa là bạn có thể gặp sự cố khi chạy macro lần thứ hai sau đó và các công cụ soát lỗi của Excel (chẳng hạn như trình kiểm tra chính tả) sẽ không hoạt động trên các từ hoàn toàn là chữ hoa. (Tuy nhiên, Excel có thể được cấu hình để vẫn kiểm tra chính tả những từ như vậy.)

Do những hạn chế, bạn có thể muốn thực hiện một cách tiếp cận hoàn toàn khác — thay đổi phông chữ bạn sử dụng cho các ô mà bạn muốn viết hoa nhỏ. Nếu bạn tìm kiếm “phông chữ viết hoa nhỏ” (không có dấu ngoặc kép) trên web, bạn sẽ có thể tìm thấy nhiều ứng cử viên và một số lượng lớn trong số họ được cung cấp miễn phí. Đây là một trang web mà bạn có thể thích:

https://www.fontsquirrel.com/fonts/list/tag/small%20caps

Chỉ cần tải xuống phông chữ bạn muốn (từ nguồn này hoặc bất kỳ nguồn uy tín nào khác) và cài đặt nó trên hệ thống của bạn. Khi bạn khởi động lại Excel, phông chữ sẽ có sẵn để định dạng ô. Các ô được định dạng để sử dụng phông chữ như vậy sẽ hiển thị văn bản dưới dạng chữ hoa nhỏ, mặc dù nội dung ô thực tế là hỗn hợp của chữ hoa và chữ thường.

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

Mẹo này (653) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.