Chuyển đổi qua lại giữa chữ thường và chữ HOA

Liên hệ QC

Thanhhuonghuong

Thành viên mới
Tham gia
17/4/08
Bài viết
2
Được thích
0
Xin vui lòng cho hỏi trong excel muốn chuyễn đổi qua lại giửa chữ hoa và chử thường phải làm như thế nào? Trong word khi dùng bảng mã Unicode vì sao khi chuyển đổi qua lại giữa chữ hoa và chử thường nó không chuẩn ví dụ :
MộT NGÀY SốNG BÊN NHAU. chữ ô đã biết thành nhỏ xíu như vậy. cách khắc phục như thế nào? mong được chỉ giúp. thành thật cám ơn
 
Xin vui lòng cho hỏi trong excel muốn chuyễn đổi qua lại giửa chữ hoa và chử thường phải làm như thế nào? Trong word khi dùng bảng mã Unicode vì sao khi chuyển đổi qua lại giữa chữ hoa và chử thường nó không chuẩn ví dụ :
MộT NGÀY SốNG BÊN NHAU. chữ ô đã biết thành nhỏ xíu như vậy. cách khắc phục như thế nào? mong được chỉ giúp. thành thật cám ơn
Bạn dùng cái này

CHUYỂN TẤT CẢ THÀNH CHỮ HOA: UpperUni
PHP:
Function UpperUni(chuoi As String) As String
UpperUni = Application.WorksheetFunction.Trim(UCase(chuoi))
End Function
Chuyển Chữ Hoa Đầu Từ: ProperUni
PHP:
Function ProperUni(chuoi As String) As String
chuoi = " " & Application.WorksheetFunction.Trim(LCase(chuoi))
stt = Len(chuoi)
If stt > 1 Then
  Do
    stt = InStrRev(chuoi, " ", stt)
    Mid(chuoi, stt + 1, 1) = UCase(Mid(chuoi, stt + 1, 1))
    stt = stt - 1
  Loop While stt > 0
  ProperUni = Mid(chuoi, 2)
End If
End Function

chuyển tất cả thành chữ thường: LowerUni
PHP:
Function LowerUni(chuoi As String) As String
LowerUni = Application.WorksheetFunction.Trim(LCase(chuoi))
End Function
 
Lần chỉnh sửa cuối:
Xin vui lòng cho hỏi trong excel muốn chuyễn đổi qua lại giửa chữ hoa và chử thường phải làm như thế nào? Trong word khi dùng bảng mã Unicode vì sao khi chuyển đổi qua lại giữa chữ hoa và chử thường nó không chuẩn ví dụ :
MộT NGÀY SốNG BÊN NHAU. chữ ô đã biết thành nhỏ xíu như vậy. cách khắc phục như thế nào? mong được chỉ giúp. thành thật cám ơn

Bạn mở một file excel mới, vào VBA chép tất cả đoạn code của bạn Boyxin vào trong module rồi save as dưới dạng *.xla thế là bạn có thêm ba hàm mới rồi đó. Hàm này chuyển đổi không bị lỗi chữ to chữ nhỏ như UPPER(Text).

Thanks bạn Boyxin.
 
Bạn dùng cái này

CHUYỂN TẤT CẢ THÀNH CHỮ HOA: UpperUni
PHP:
Function UpperUni(chuoi As String) As String
UpperUni = Application.WorksheetFunction.Trim(UCase(chuoi))
End Function
Chuyển Chữ Hoa Đầu Từ: ProperUni
PHP:
Function ProperUni(chuoi As String) As String
chuoi = " " & Application.WorksheetFunction.Trim(LCase(chuoi))
stt = Len(chuoi)
If stt > 1 Then
  Do
    stt = InStrRev(chuoi, " ", stt)
    Mid(chuoi, stt + 1, 1) = UCase(Mid(chuoi, stt + 1, 1))
    stt = stt - 1
  Loop While stt > 0
  ProperUni = Mid(chuoi, 2)
End If
End Function
chuyển tất cả thành chữ thường: LowerUni
PHP:
Function LowerUni(chuoi As String) As String
LowerUni = Application.WorksheetFunction.Trim(LCase(chuoi))
End Function


Dear các bác,

Mình chép function UpperUni và ProperUni vào VBA, sau đó dùng nó cho đoạn code sau :
ThisWorkbook.Sheets("Customer Database").Range("E" & i).Value = ProperUni(TextBox4.Text) 'surname
ThisWorkbook.Sheets("Customer Database").Range("F" & i).Value = ProperUni(TextBox5.Text) 'first name
ThisWorkbook.Sheets("Customer Database").Range("G" & i).Value = TextBox6.Text 'birth day
ThisWorkbook.Sheets("Customer Database").Range("H" & i).Value = TextBox7.Text 'birth month
ThisWorkbook.Sheets("Customer Database").Range("I" & i).Value = TextBox8.Text 'birth year
ThisWorkbook.Sheets("Customer Database").Range("J" & i).Value = ProperUni(TextBox9.Text) 'sex
ThisWorkbook.Sheets("Customer Database").Range("K" & i).Value = TextBox10.Text 'ID card
ThisWorkbook.Sheets("Customer Database").Range("L" & i).Value = ProperUni(TextBox11.Text) 'occupation
ThisWorkbook.Sheets("Customer Database").Range("M" & i).Value = TextBox12.Text 'handphone
ThisWorkbook.Sheets("Customer Database").Range("N" & i).Value = TextBox13.Text 'email
ThisWorkbook.Sheets("Customer Database").Range("O" & i).Value = TextBox14.Text 'address no
ThisWorkbook.Sheets("Customer Database").Range("P" & i).Value = ProperUni(TextBox15.Text) 'street
ThisWorkbook.Sheets("Customer Database").Range("Q" & i).Value = ProperUni(TextBox16.Text) 'ward
ThisWorkbook.Sheets("Customer Database").Range("R" & i).Value = ProperUni(TextBox17.Text) 'district
ThisWorkbook.Sheets("Customer Database").Range("S" & i).Value = TextBox18.Text 'city

Kết quả là nó chuyển đổi rất tốt, nhưng mình gặp 1 vấn đề là code lại chạy chậm đi một chút so với code lúc chưa dùng hai Function trên, nhờ các bác chỉ giúp cách nào để dùng function này vào code mà code có thể chạy nhanh hơn được không ạ ?

Cám ơn các bác rất nhiều !
 
Mình thấy khỏi cần cái ProperUni chi cho mệt. Nếu Excel có rồi mà ta dùng UDF để thay thế 1 cái y chang thì sẽ tốn tài nguyên lắm.
PHP:
With WorksheetFunction
With Sheets("Customer Database")
.Range("E" & i).Value = TRIM(.Proper(TextBox4.Text)) 'surname
.Range("F" & i).Value = TRIM(.Proper(TextBox5.Text)) 'first name
.Range("G" & i).Value = TextBox6.Text 'birth day
.Range("H" & i).Value = TextBox7.Text 'birth month
.Range("I" & i).Value = TextBox8.Text 'birth year
.Range("J" & i).Value = TRIM(.Proper(TextBox9.Text)) 'sex
.Range("K" & i).Value = TextBox10.Text 'ID card
.Range("L" & i).Value = TRIM(.Proper(TextBox11.Text)) 'occupation
.Range("M" & i).Value = TextBox12.Text 'handphone
.Range("N" & i).Value = TextBox13.Text 'email
.Range("O" & i).Value = TextBox14.Text 'address no
.Range("P" & i).Value = TRIM(.Proper(TextBox15.Text)) 'street
.Range("Q" & i).Value = TRIM(.Proper(TextBox16.Text)) 'ward
.Range("R" & i).Value = TRIM(.Proper(TextBox17.Text)) 'district
.Range("S" & i).Value = TextBox18.Text 'city
End With
End With
Thân.
 
Cho mình hỏi chuối 1 chút vì mình không hề biết gì về add-in hay VBA, nhưng muốn đổi được chữ cái đầu mỗi từ sang chữ in.Mình đang rất cần mà không đủ thời gian để tìm hiểu, mong các bạn "cầm tay chỉ việc" giúp mình với, cảm ơn các bạn nhiều!
 
Bạn dùng hàm Proper() nhé !

|A|B
1|nguyễn văn a|Nguyễn Văn A
2| |B1=proper(A1)
 
Nếu anh ndu96081631 dùng tên "Lê Văn Ẩn" chuyển thành chữ Hoa hết mà dùng chức năng chuyển mã của Unikey thì sẽ chuyển được và đơn giản. Nhưng tiếc rằng Unikey ko có chức năng chuyển ký tự thường thành chữ hoa của ký tự đầu.

______-
Nguyên văn bởi ndu96081631
Bạn thử với tên lê văn ẩn xem có ra kết quả chính xác không nha
_________

Thanks.
Anh Tú.
"Love is beautiful when it's unconclusive".
 
xin cho hỏi cách lập 1 danh sánh học tên có chữ in hoa đầu từ thì làm thế nào nếu dùng hàm proper thì chỉ chuyển được một từ thôi ạ các bác giúp e với-+*/
 
Chào bạn! nếu mình muốn khi bấm vào 1 ô, bấm enter thì chữ đó tự chuyển thành hoa, thì mình làm sao
Ví dụ: đan trường---> Đan Trường.
nhưng vẫn ở trong cùng 1 ô.
 
Lần chỉnh sửa cuối:
Chào bạn! nếu mình muốn khi bấm vào 1 ô, bấm enter thì chữ đó tự chuyển thành hoa, thì mình làm sao
Ví dụ: đan trường---> Đan Trường.
nhưng vẫn ở trong cùng 1 ô.
Copy cái này bỏ vào sheet là được
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Count = 1 Then
   If Target.Value <> "" Then
      Target.Value = Application.Proper(Target)
   End If
End If
Application.EnableEvents = True
End Sub
 
Các bạn đang nói tới chuyển đổi mã font để xử lý công việc hay là để học code? Nếu là code thì mình chịu chứ để xử lý công việc thì dùng luôn uOffice 2.0 là chuyển chữ hoa hay chữ thường được hết mà.
 
Web KT

Bài viết mới nhất

Back
Top Bottom