Code sự kiện. Mỗi lần thay đổi trị trong cột [hoten] thì nó tự động chỉnh thành viết hoa
Private Sub Worksheet_Change(ByVal Target As Range)
Const TITLEROW = 1
Dim TempEventSave
Select Case Cells(TITLEROW, Target.Column).Value
Case "[hoten]"
GoSub VietHoaHoTen
Case Else ' bắt thay đổi các cột khác ở đây
End Select
' dùng Gosub thì bắt buộc phải Exit trước khi gặp các subs
Exit Sub
'
VietHoaHoTen:
TempEventSave = Application. EnableEvents
Application. EnableEvents = False
Target.Value = Applcation.Proper(Target.Value)
Application. EnableEvents = TempEventSave
Return
' các subs khác (cho các cột khác ở đây)
End Sub
Nếu muốn chơi kiểu "bấm một phát" thì:
Sửa code đang dùng:
Sub Proper_KeKhaiDangKy()
Const TITLEROW = 1 ' dòng chứa tiêu đề
Set tCell = Cells(TITLEROW, 1).EntireRow.Find("[hoten]") ' tìm cell chứa tiêu đề
If tCell Is Nothing Then
MsgBox "Chạy, tìm không ra cột họ tên"
Exit Sub
End If
For Each cls In ActiveSheet.Range(tCell.Offset(1, 0), Cells(65000, tCell.Column).End(3))
cls.Value = Application.Proper(cls.Value)
Next
End Sub