Nhờ các anh chị trong diễn đàn sửa giúp code tự động tạo mã cho họ và tên (1 người xem)

  • Thread starter Thread starter Blad01
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

Blad01

Thành viên thường trực
Tham gia
6/10/07
Bài viết
350
Được thích
28
Xin chúc các anh chị trong diễn đàn những ngày cuối tuần vui vẻ, hạnh phúc.
Em có mấy vấn đề xin các anh chị giúp đỡ như sau:

(1) Em có tìm google và tìm được một đoạn code của bác TQChanh bên diễn đàn webketoan (hình như bác này bên diễn đàn mình có nickname ChanhTQ@) hướng dẫn cách tự động tạo mã họ và tên. Em đọc mà chưa biết cách áp dụng cho file dữ liệu của em. Mong các bác xem và sửa đoạn code cho phù hợp với file dữ liệu của em với ạ.
- Mục đích của em như sau: Khi bấm vào nút GHI VÀ THÊM trên Form thì mã đảng viên sẽ được tạo vào cột C (như file đính kèm).
- Quy luật tạo mã như sau: Mã gồm 5 ký tự, 3 ký tự đầu viết tắt bởi các chữ cái in hoa trong chuỗi Họ Và Tên (HVT) + 2 ký tự cuối là số tự nhiên (dùng để phân biệt những người trùng tên).
+ 3 ký tự đầu là các nguyên âm. ví dụ: Â, Ă,... => A; Ô, Ơ,... => O; Đ => F, Ư => U, Ê => E,.... (bảng chữ cái chuyển nguyên âm em đã liệt kê trong sheets"Futro" của file đính kèm rồi ạ. Ví dụ: Nguyễn Đình Đông => Mã: NFF00 hay Nguyễn Đình Đồng => Mã: NFF01
+ Những ai không có tên lót thì chữ thứ 2 trong 3 ký tự đầu là chữ 'J'. Ví dụ: Nguyễn Nam ==> Mã: NJN00
Mã:
Code của bác TQChanh bên diễn đàn Webketoan như sau (xin phép bác):
[COLOR=#000000][COLOR=#007700]Function [/COLOR][COLOR=#0000BB]KiemNguyenAm[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]StrC [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]String[/COLOR][COLOR=#007700]) As [/COLOR][COLOR=#0000BB]String 
 Dim sRng [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Range 
  
 Set sRng [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"NgAm"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Find[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Left[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]StrC[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]), , [/COLOR][COLOR=#0000BB]xlFormulas[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]xlWhole[/COLOR][COLOR=#007700]) 
 If [/COLOR][COLOR=#0000BB]sRng Is Nothing Then 
    KiemNguyenAm [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Left[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]StrC[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) 
 Else 
    [/COLOR][COLOR=#0000BB]KiemNguyenAm [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]sRng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700](, [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value 
 End [/COLOR][COLOR=#007700]If 
[/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]Function 
------
[COLOR=#000000][COLOR=#007700]Function [/COLOR][COLOR=#0000BB]TachTen[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]hoten [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]String[/COLOR][COLOR=#007700]) As [/COLOR][COLOR=#0000BB]String 
 hoten [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Trim[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]hoten[/COLOR][COLOR=#007700]) 
 If [/COLOR][COLOR=#0000BB]hoten [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"" [/COLOR][COLOR=#0000BB]Then 
    TachTen [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"" 
 [/COLOR][COLOR=#007700]Else 
    [/COLOR][COLOR=#0000BB]vt [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]InStrRev[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]hoten[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]" "[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Len[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]hoten[/COLOR][COLOR=#007700])) 
    If [/COLOR][COLOR=#0000BB]vt [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]0 Then 
        TachTen [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]hoten 
    [/COLOR][COLOR=#007700]Else 
        [/COLOR][COLOR=#0000BB]TachTen [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Mid[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]hoten[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]vt [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) 
    [/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]If 
 [/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]If 
[/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]Function 
-----
[COLOR=#000000][COLOR=#007700]Function [/COLOR][COLOR=#0000BB]Lot[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Ho [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]String[/COLOR][COLOR=#007700]) As [/COLOR][COLOR=#0000BB]String 
 Dim VT [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Byte 
  
 Ho [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Trim[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Ho[/COLOR][COLOR=#007700]) 
 If [/COLOR][COLOR=#0000BB]Ho [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"" [/COLOR][COLOR=#0000BB]Then 
    Lot [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"Er" 
 [/COLOR][COLOR=#007700]Else 
    [/COLOR][COLOR=#0000BB]VT [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]InStrRev[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Ho[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]" "[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Len[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Ho[/COLOR][COLOR=#007700])) 
    If [/COLOR][COLOR=#0000BB]VT [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]0 Then 
        Lot [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"J" 
    [/COLOR][COLOR=#007700]Else 
        [/COLOR][COLOR=#0000BB]Lot [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]KiemNguyenAm[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Mid[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Ho[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]VT [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700])) 
    [/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]If 
 [/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]If 
[/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]Function [/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR]

(2) Xin nhờ các anh chị viết giúp em đoạn code tìm kiếm dữ liệu theo ngày nhập dữ liệu (cột D); hoặc có thể tìm theo 2 tiêu chí cùng lúc là tìm tên cơ quan và tìm theo ngày nhập dữ liệu (xem trong Form).

(3) Em sử dụng combobox để nhập dữ liệu vào bảng tính. trong phần Properties của ComboBox tại phần Style em để 2-fmStyleDropDownList. Em phải làm thế nào để sau khi bấm nút thêm dữ liệu thì các ComboBox sẽ trống dữ liệu để tiếp tục cho lần nhập sau.

Em rất mong các anh chị giúp đỡ (code trong File đính kèm là em được bác ChanhTQ@ và một số anh chị trong diễn đàn giúp đỡ).

Nhờ Admin xóa giúp em đề tài: http://www.giaiphapexcel.com/forum/...nh-chị-viết-giúp-code-thông-báo-dữ-liệu-trùng
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn tự xem lại đi!

Vùng gán tên 'LVHD' ở file bài 8 là N2:N13;

Còn file bạn vừa đưa lên là M2:N7 kia mà!

& bạn dẫn chứng ai & câu nào nói hay fán người khác ngu đốt đâu nào!?!

Vĩnh biệt!
tôi đang nói bạn HYen17 trong phần ghi chú nói tôi chờ sung rụng. Những gì các bạn góp ý, hay làm giúp tôi đều rất trân trọng và cảm ơn lắm. Được các bạn giúp đỡ tôi học hỏi được rất nhiều điều. Xin cảm ơn
 
Upvote 0
Từ sau #8 với những người có nhã í giúp bạn, người ta sẽ lấy file nào để thực hiện việc giúp đây?. Có fải file ở #8 không?

& họ đã chỉ dẫn bạn theo file đó; Không tin bạn lấy ~ chỉ dẫn áp vô file #8 lại lần nữa xem sao!

Chắc đây là lần cuối giúp bạn, nhưng không là Excel!
 
Upvote 0
Từ sau #8 với những người có nhã í giúp bạn, người ta sẽ lấy file nào để thực hiện việc giúp đây?. Có fải file ở #8 không?

& họ đã chỉ dẫn bạn theo file đó; Không tin bạn lấy ~ chỉ dẫn áp vô file #8 lại lần nữa xem sao!

Chắc đây là lần cuối giúp bạn, nhưng không là Excel!
Có gì không nên, không phải mong các bác bỏ quá cho em. Được các bác cao thủ về VBA như SA_DQ, HYen17, ChanhTQ@,... giúp đỡ chỉ bảo đó là hạnh phúc của em. Diễn đàn là nơi học tập, trao đổi, giúp đỡ nhau về lĩnh vực Excel, em hỏi nhiều cũng thấy ngại lắm, nhưng thực sự em mới trình độ vỡ lòng về VBA không hỏi và cũng không được các bác và các bạn trong diễn đàn giúp đỡ thì em cũng không biết phải làm sao. Hy vọng em vẫn nhận được sự giúp đỡ từ các bác và các bạn.

Một lần nữa xin được nói lời cảm ơn.
 
Upvote 0
Web KT

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

Back
Top Bottom