Viết hoa chữ cái đầu dòng một ô trong Excel

(Thủ thuật VBA trong Excel)

- Trong Word việc tắt/bật tính năng tự động viết chữ hoa đối với chữ cái đầu tiên trong một câu rất dễ dàng, vì đây là phần mềm chuyên để xử lý và định dạng văn bản. Tuy nhiên khi sang Excel, chức năng này chỉ hỗ trợ tự động viết hoa chữ cái đầu tiên sau dấu chấm (.) còn với câu đầu tiên trong một ô thì Excel lại không hỗ trợ. Người sử dụng phải sử dụng phím Shift để thực hiện công việc này. Hoặc người sử dụng vẫn nhập thông tin bình thường rồi sử dụng các hàm có sẵn hoặc các hàm tự viết để chuẩn hóa theo ý của mình.


Dưới đây là các giải pháp do Kênh phần mềm việt đưa ra để xử lý vấn đề này.

1. Sử dụng kết hợp các hàm có sẵn
- Viết hoa chữ cái đầu tiên của câu
=CONCATENATE(UPPER(LEFT(B2,1)),RIGHT(B2,LEN(B2)-1))
Hoặc 
=UPPER(LEFT(B2,1))&LOWER(RIGHT(B2,LEN(B2)-1))
- Viết hoa chữ cái đầu tiên của mỗi từ sử dụng hàm PROPER
=PROPER(B2)
- Viết hoa toàn bộ sử dụng hàm UPPER
=UPPER(B2)
Trong đó: B2 là cột dữ liệu cần chuẩn hóa

2. Sử dụng VBA
Nhấn ALT + F11 để bắt đầu Visual Basic Editor.
Vào Menu Inser\Module

Nhập toàn bộ đoạn mã sau vào

Function CapitalizeSentence(ByVal strContent As String) As String
    Dim m As Object
    strContent = LCase(strContent)
    strContent = Application.Replace(strContent, 1, 1, UCase(Left$(strContent, 1)))
    With CreateObject("VBScript.RegExp")
        .Pattern = "\.\s."
        .Global = True
        For Each m In .Execute(strContent)
            strContent = Application.Replace(strContent, m.FirstIndex + 1, m.Length, UCase(m.Value))
        Next
    End With
    CapitalizeSentence = strContent
End Function

Hoặc

Function CapitalizeSentence(txt As String) As String
    Dim e
    For Each e In Split(txt, ".")
        SentenceCase = SentenceCase & ". " & UCase(Left$(Trim(e), 1)) & LCase(Mid$(Trim(e), 2))
    Next
    SentenceCase = Mid$(SentenceCase, 3)
End Function

Sau khi nhập xong các đoạn Code trên, bạn quay trở lại màn hình làm việc Excel và sử dụng các hàm này như các hàm có sẵn của Excel.
= CapitalizeSentence(B2)

About ""

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus suscipit, augue quis mattis gravida, est dolor elementum felis, sed vehicula metus quam a mi. Praesent dolor felis, consectetur nec convallis vitae.

5 comments:

  1. Chào bạn Bình. Mình rất vui vì được biết đến blog của bạn. Bài viết rất hữu ích, blog lại đẹp nữa.
    Mình có thể kết bạn với bạn được chứ?
    Fb của mình tại địa chỉ này :https://www.facebook.com/kenji.trong.9
    hjhj.. hi vọng sẽ sớm được kết bạn với bạn!

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Xin cảm ơn tác giả nhiều

    ReplyDelete

Breaking

 
Copyright © 2013 Binhbk230