Đánh họ và tên, tự động tách tên, tự động viết hoa

Liên hệ QC

thaiquy7

Thành viên chính thức
Tham gia
27/4/09
Bài viết
54
Được thích
7
Giới tính
Nam
Nghề nghiệp
Công chức
Tập huấn phổ cập giáo dục tôi có 1 biểu không biết họ làm thế nào mà nó tự động viết hoa và tự động tách tên, tôi đưa lên diễn đàn nhờ anh em giúp đỡ:
ở cột C khi nhập họ và tên (nguyễn thiện nhân) khi enter thì cột C hiển thị Nguyễn Thiện cột D hiển thị Nhân. Rất mong anh em giúp đỡ chân thành cảm ơn. (tôi có đính kèm tệp)
 

File đính kèm

  • pcgd_nhapphieudieutra.xls
    321.5 KB · Đọc: 132
Tập huấn phổ cập giáo dục tôi có 1 biểu không biết họ làm thế nào mà nó tự động viết hoa và tự động tách tên, tôi đưa lên diễn đàn nhờ anh em giúp đỡ:
ở cột C khi nhập họ và tên (nguyễn thiện nhân) khi enter thì cột C hiển thị Nguyễn Thiện cột D hiển thị Nhân. Rất mong anh em giúp đỡ chân thành cảm ơn. (tôi có đính kèm tệp)

cái này làm sao crack được vậy bạn, chỉ cho tôi với
tôi có thử một vài cách nhưng ko mở được.......hihichic
 
biểu này do Bộ GD&ĐT cung cấp, trình độ excel của người viết quả là cao thủ, minh không biết nên đưa lên cho anh em nghiên cứu, trình độ của mình chỉ biết sử dụng thôi :D
 
cảm ơn bạn ngacuoi, ở đây là tự tách tên qua cột khác luôn, còn họ và chữ lót vẫn ở cột mình đã gõ, không thêm bất kỳ công thức nào.
 
biểu này do Bộ GD&ĐT cung cấp, trình độ excel của người viết quả là cao thủ, minh không biết nên đưa lên cho anh em nghiên cứu, trình độ của mình chỉ biết sử dụng thôi :D
cái này cũng bình thường thôi, người ta viết 1 macro tách tên và cho sự kiện tại ô gõ nó sẽ tự động tách tên, còn file có pass cái này trên diễn đàn đã thảo luận rất nhiều mở mấy cái này cũng có công cụ HXD rồi

code tách tên của người ta đây
For k = Len(HoTenDoiTuong) To 1 Step -1
If Mid(HoTenDoiTuong, k, 1) = " " Then
hodem1dt = Trim(Replace(Left(HoTenDoiTuong, k), "", ""))
ten1dt = Trim(Replace(Right(HoTenDoiTuong, Len(HoTenDoiTuong) - k), "", ""))
Exit For
End If
Next
 
Lần chỉnh sửa cuối:
cái này cũng bình thường thôi, người ta viết 1 macro tách tên và cho sự kiện tại ô gõ nó sẽ tự động tách tên, còn file có pass cái này trên diễn đàn đã thảo luận rất nhiều mở mấy cái này cũng có công cụ HXD rồi

Anh Phi nói chuẩn đấy ah. File này trên GPE cao thủ viết hàm tách họ tên nhiều như mưa +-+-+-+
 
cảm ơn bạn ngacuoi, ở đây là tự tách tên qua cột khác luôn, còn họ và chữ lót vẫn ở cột mình đã gõ, không thêm bất kỳ công thức nào.

Gởi bạn tham khảo một file mẫu, Nhập vào cột C sẽ tách lấy Tên ra cột D.
Nhớ Enable Macros khi mở file.
Mọi chuyện khác không biết.
 

File đính kèm

  • TachTen.rar
    8.4 KB · Đọc: 161
cảm ơn bạn Ba Tê, bạn có thể hướng dẫn dùm là tự động tách tên và tự động viết hoa,
 
biểu này do Bộ GD&ĐT cung cấp, trình độ excel của người viết quả là cao thủ, minh không biết nên đưa lên cho anh em nghiên cứu, trình độ của mình chỉ biết sử dụng thôi :D

Cơ Quan trên lúc cung cấp file, người ta có đi kèm theo bản điều lệ. Nếu bản điều lệ nêu rõ bản quyền của file thì cờ rắc là PHẠM PHÁP

Xâm phạm bản quyền dân sự thì thuộc về luật dân sự, bồi thường là cùng. Xâm phạm bản quyền cơ quan nhà nước là chuyện khác hoàn toàn.
 
tự động tách tên, rồi tự động viết hoa đầu mỗi từ đó bạn.
 
Lần chỉnh sửa cuối:
tự động tách tên, rồi tự động viết hoa luôn đó bạn.

Không hiểu bạn nói gì.
Không biết chỗ sửa code, hay code không hoạt động, hay tự động là thế nào? Viết HOA cả HỌ TÊN, hay viết hoa đầu từ, hay gì gì đó nói không rõ ràng mà cứ lòng vòng.
 

File đính kèm

  • TachTen.rar
    8.7 KB · Đọc: 47
viết hoa đầu mỗi từ bạn ah, cảm ơn bạn rất nhiều
 
Lần chỉnh sửa cuối:
viết hoa đầu mỗi từ bạn ah, cảm ơn bạn rất nhiều
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim Tem, Str As String
If Target.Column = 3 And Target.Count = 1 Then
    Str = Application.WorksheetFunction.Proper(Target)
    Tem = Split(Trim(Str), " ")
    Target.Offset(, 1).Value = Tem(UBound(Tem))
    Target.Value = Trim(Left(Str, Len(Str) - Len(Target.Offset(, 1))))
End If
Application.EnableEvents = True
End Sub

Bạn Alt+F11, kích đúp sheet 1, bạn chép đoạn code trên của thầy Bate vào là ok
 
Vác cây đao to này ra chơi chút coi. Cất riết sét hết rồi.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 3 Then
   If Target.Count = 1 Then
      If Target <> "" Then
         Dim temp As String
         temp = Application.Proper(Trim(Target))
         With CreateObject("VbScript.RegExp")
            .Pattern = "(\S+)(.*)(\s\S+)"
            Target(, 2) = .Replace(temp, "$" & 3)
            Target = .Replace(temp, "$" & 1 & "$" & 2)
         End With
      End If
   End If
End If
Application.EnableEvents = True
End Sub
 
Vác cây đao to này ra chơi chút coi. Cất riết sét hết rồi.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 3 Then
   If Target.Count = 1 Then
      If Target <> "" Then
         Dim temp As String
         temp = Application.Proper(Trim(Target))
         With CreateObject("VbScript.RegExp")
            .Pattern = "(\S+)(.*)(\s\S+)"
            Target(, 2) = .Replace(temp, "$" & 3)
            Target = .Replace(temp, "$" & 1 & "$" & 2)
         End With
      End If
   End If
End If
Application.EnableEvents = True
End Sub
Bạn cho tôi hỏi, nếu muốn VIẾT HOA TOÀN BỘ CÁC TỪ, thì sửa code như thế nào
Xin cảm ơn
 
Nếu viết hoa toàn bộ thì đổi dòng
Str = Target.Value
thành
Str = UCase(Target)
 
Web KT

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

Back
Top Bottom