Giúp mình tự viết hoa đầu chữ + xóa khoảng trắng thừa

Liên hệ QC

vuquyetmanh

Thành viên mới
Tham gia
17/6/16
Bài viết
15
Được thích
0
Giúp mình code VBA khi nhập tên khách hàng thì tự viết hoa đầu chữ và tự xóa các khoảng trắng thừa.
Nếu như đc vậy thì hay quá, còn nếu không được thì cách ấn vào nút nào đó xong cột tên khách viết hoa đầu chữ và xóa các khoảng trắng thừa.
Như vậy người nhập có nhập hơi sai thì cũng vẫn không bị sai dữ liệu.
Mình tìm nhiều rồi nhưng chưa thấy bài nào hợp nhu cầu, có bài cũng giống giống nhưng lại bị lỗi, mong các bạn giúp mình.
 
Lần chỉnh sửa cuối:
Đưa cái "bài giống giống" ấy lên đây và cho biết "lỗi" chỗ nào, "lỗi" ra sao.
Hy vọng tôi sẽ mách cho cách chỉnh sửa để dùng.
 
Mã:
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)
      Target.Value = Application.Trim(Target)
   End If
End If
Application.EnableEvents = True
End Sub

Mình muốn chỉ dùng trong 1 hoặc 2 cột thôi thì làm thế nào (Ví dụ chỉ cột B hoặc chỉ cột B và D mới áp dụng code trên)
Dòng "Target.Value = Application.Trim(Target)" là mình thêm vào, nhưng chắc có cách ghép câu lệnh nhưng mình ko biết VBA nên ko biết, chỉ mình với.
 
Lần chỉnh sửa cuối:
Mã:
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)
      Target.Value = Application.Trim(Target)
   End If
End If
Application.EnableEvents = True
End Sub

Mình muốn chỉ dùng trong 1 hoặc 2 cột thôi thì làm thế nào (Ví dụ chỉ cột B hoặc chỉ cột B và D mới áp dụng code trên)
Dòng "Target.Value = Application.Trim(Target)" là mình thêm vào, nhưng chắc có cách ghép câu lệnh nhưng mình ko biết VBA nên ko biết, chỉ mình với.
Bạn thử
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 1 Or Target.Column = 2 Or Target.Column = 3 Then  '//Cot A, B, C
If Target.Count = 1 Then
   If Target.Value <> "" Then
      Target.Value = Application.Proper(Target)
      Target.Value = Application.Trim(Target)
   End If
End If
End If
Application.EnableEvents = True
End Sub
 
Mình sửa được rồi, nhưng không hiểu sao giờ code lại không có tác dụng gì hết, giống như kiểu code không được thực thi vậy =.=
 
Kiểm tra trên máy của mình thì code chạy ok. bạn đảm bảo code được gắn vào sheet (không phải module) và thử lại xem
 
Giúp mình code VBA khi nhập tên khách hàng thì tự viết hoa đầu chữ và tự xóa các khoảng trắng thừa.
Nếu như đc vậy thì hay quá, còn nếu không được thì cách ấn vào nút nào đó xong cột tên khách viết hoa đầu chữ và xóa các khoảng trắng thừa.
Như vậy người nhập có nhập hơi sai thì cũng vẫn không bị sai dữ liệu.
Mình tìm nhiều rồi nhưng chưa thấy bài nào hợp nhu cầu, có bài cũng giống giống nhưng lại bị lỗi, mong các bạn giúp mình.
Bạn xem thử file att. nhé.
 

File đính kèm

  • viethoa_chu_cai_dau & xoa_khoang_trong.xlsm
    16.3 KB · Đọc: 5
Mình phải chỉnh thế này mới đc, mình chọn dòng 2 nó cũng ko hiện thông báo gì cho mình bật cả =.=. Thank bạn
 

File đính kèm

  • asdasdas.jpg
    asdasdas.jpg
    317.1 KB · Đọc: 11
Web KT
Back
Top Bottom