Help: Rút gọn tên người khi dài quá 3 từ (1 người xem)

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

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

cuoi123

Thành viên mới
Tham gia
18/6/10
Bài viết
20
Được thích
2
Em xin chào các bác ạ
Em hiện tại có phải làm 1 file in theo 1 mẫu cố định. Ở ô chứa tên chỉ đủ để hiện tên có 3 từ.
Ngặt một nỗi có người tên 4 từ, 5 từ rất dài nên khi in ra bị mất chữ.
E có ý tưởng là đếm số từ trong ô đó, nếu có lớn hơn 3 khoảng trắng ( Space) thì sẽ ghi tắt theo chữ cái 2 từ ở giữa
Nhưng loay hoay quá chưa làm được . Rất mong được các bác chỉ dẫn thêm
E xin chân thành cám ơn ạ
Ví dụ: Hình bên trái là hiện tại bị ; Hình bên phải là e mong muốn nó ghi tắt 2 từ ở giữ theo chữ cái đầu
File e có đính kèm
Rất mong được sự giúp đỡ của mọi người ạ
upload_2017-8-10_14-56-43.png =>> upload_2017-8-10_14-57-52.png
 

File đính kèm

Tên Lê Hoàng Hiếu Nghĩa Đệ Nhất Thương Tâm Nhân thì rút sao bạn?
 
Tên Lê Hoàng Hiếu Nghĩa Đệ Nhất Thương Tâm Nhân thì rút sao bạn?
Cám ơn bác, Ý của bác cũng là ý e muốn phát triển lâu dài
Nhưng hiện tại thì danh sách của e tên 5 từ là dài nhất. Còn khổ in nó như thế rồi thì không co giãn được ạ
Bác có ý tưởng nào khác cho e không ?
 
Cám ơn bác, Ý của bác cũng là ý e muốn phát triển lâu dài
Nhưng hiện tại thì danh sách của e tên 5 từ là dài nhất. Còn khổ in nó như thế rồi thì không co giãn được ạ
Bác có ý tưởng nào khác cho e không ?
File đính kèm nó báo lỗi này bạn à:
upload_2017-8-10_15-47-34.png
Không mở đươc
Tên Lê Hoàng Hiếu Nghĩa Đệ Nhất Thương Tâm Nhân thì rút sao bạn?
Chắc như thế này Lê.H.H.N.Đ.N.T.T.Nhân thì không ai mà dịch nổi Thầy nhỉ
 

File đính kèm

Cám ơn bác, Ý của bác cũng là ý e muốn phát triển lâu dài
Nhưng hiện tại thì danh sách của e tên 5 từ là dài nhất. Còn khổ in nó như thế rồi thì không co giãn được ạ
Bác có ý tưởng nào khác cho e không ?
Shrink to fit được không?
 
Vấn đề của bạn không nên giải quyết theo hướng cô gọn tên hay đệm,. . .
Vấn đề của bạn nên giải quyết là Mã NV đang có của bạn;

Bạn nên gắn mã sau cho mọi người; khi ấy chỉ việc chọn theo mã thôi
PHP:
'
Mã NV     Họ & Tên'
CNM00 Công Tằng Tôn Nữ Nguyệt Minh
CMN00 Công Tằng Tôn Nữ Minh Nguyệt
CMN01 Cỗ Minh Ninh
NVH00 Nguyễn Vỹ Hòa
NVH01 Ngô Thị Việt Hồng
NVH02 Nhữ Văn Hoàng
DFD00 Dương Đức Dy
FFF00 Đỗ Đình Đức
FJP00 Đỗ Phủ
OVA00 Ông Văn Viết Ẩn

(Quảng cáo: Mã này có tính . . . . cao, bạn thấy vậy không?)
 
Lần chỉnh sửa cuối:
Vấn đề của bạn không nên giải quyết theo hướng cô gọn tên hay đệm,. . .
Vấn đề của bạn nên giải quyết là Mã NV đang có của bạn;

Bạn nên gắn mã sau cho mọi người; khi ấy chỉ việc chọn theo mã thôi
PHP:
'
Mã NV     Họ & Tên'
CNM00 Công Tằng Tôn Nữ Nguyệt Minh
CMN00 Công Tằng Tôn Nữ Minh Nguyệt
CMN01 Cỗ Minh Ninh
NVH00 Nguyễn Vỹ Hòa
NVH01 Ngô Thị Việt Hồng
NVH02 Nhữ Văn Hoàng
DFD00 Dương Đức Dy
FFF00 Đỗ Đình Đức
FJP00 Đỗ Phủ
OVA00 Ông Văn Viết Ẩn

(Quảng cáo: Mã này có tính . . . . cao, bạn thấy vậy không?)
Người ta muốn hiển thị để in chứ không phải tạo mã để quản lý đâu bạn à.
 
Để in nhãn, phải không?

1 từ tiếng Việt dài nhất là 7 kí tự; Ta tạo thêm 4 kí tự nữa là in được thôi
Như Công Tằng Tôn Nữ Như Nguyệt :=> C.N. Nguyệt
 
Vấn đề của bạn không nên giải quyết theo hướng cô gọn tên hay đệm,. . .
Vấn đề của bạn nên giải quyết là Mã NV đang có của bạn;

Bạn nên gắn mã sau cho mọi người; khi ấy chỉ việc chọn theo mã thôi
PHP:
'
Mã NV     Họ & Tên'
CNM00 Công Tằng Tôn Nữ Nguyệt Minh
CMN00 Công Tằng Tôn Nữ Minh Nguyệt
CMN01 Cỗ Minh Ninh
NVH00 Nguyễn Vỹ Hòa
NVH01 Ngô Thị Việt Hồng
NVH02 Nhữ Văn Hoàng
DFD00 Dương Đức Dy
FFF00 Đỗ Đình Đức
FJP00 Đỗ Phủ
OVA00 Ông Văn Viết Ẩn

(Quảng cáo: Mã này có tính . . . . cao, bạn thấy vậy không?)
--
Cám ơn bác nhưng trong mác in này có mã NV rồi ( ngay dưới tên- ở đây là " 08123547")
Có người trùng tên nhưng sẽ khác mã NV, Còn in tên thì để e quản lý
E đang mắc chỗ tạo kí tự như bác nói đấy ạ. chỗ e cả nghìn nhân viên ~~
 
. . . Nhưng trong mác in này có mã NV rồi ( ngay dưới tên- ở đây là " 08123547")
Có người trùng tên nhưng sẽ khác mã NV, Còn in tên thì để e quản lý
E đang mắc chỗ tạo kí tự như bác nói đấy ạ. chỗ e cả nghìn nhân viên ~~
Vấn đề là mã NV của bạn vô tri giác & mã này không có tính tương tác cao giữa người quản lý & người chịu quản lí;
(Mã như của bạn thì người có mã cũng chả thể nào nhớ được mã của mình, trừ fi đó là số điện thoại của chính người đó.)

Mã mình đề xuất hoàn toàn có thể chuyển thành mác tên tượng trưng của 1 người nhân viên cụ thể nào đó như thường;

Còn cách tạo mã đó cho CQ bạn mình sẽ thực hiện trong vòng các nốt nhạc của 1 bài hát.
 
File đính kèm nó báo lỗi này bạn à:
View attachment 181345
Không mở đươc

Chắc như thế này Lê.H.H.N.Đ.N.T.T.Nhân thì không ai mà dịch nổi Thầy nhỉ
Mình không bàn về code, chỉ là thấy cái tên hàm =Rut(A4) nó.. dị dị sao ấy
Mình nghĩ bạn nên chăm chút nó thêm nữa, để mai này còn dùng cho việc khác nữa chứ
(góp ý là vì mình nhìn thấy được khả năng ứng dụng của hàm)
 
Mình không bàn về code, chỉ là thấy cái tên hàm =Rut(A4) nó.. dị dị sao ấy
Mình nghĩ bạn nên chăm chút nó thêm nữa, để mai này còn dùng cho việc khác nữa chứ
(góp ý là vì mình nhìn thấy được khả năng ứng dụng của hàm)
Em định không đưa lên. Nhưng về sau lại sửa bài viết đính kèm thêm File Thầy
 
Em định không đưa lên. Nhưng về sau lại sửa bài viết đính kèm thêm File Thầy
Hàm này chắc chắn sẽ có việc xài sau này (có nhiều người có nhu cầu này). Vậy bạn hãy cố nghĩ ra cái tên hàm sao cho nó GỢI NHỚ (giông cách mà anh Bill đặt tên hàm) để sau này nhìn vào bạn còn biết hàm đó dùng để làm gì. Chứ.. RUT(..) thì.. cá với bạn rằng 1 năm sau bạn sẽ không biết nó là cái gì nếu không xem code
 
Nhưng về sau lại sửa bài viết đính kèm thêm File
Rảnh rỗi mình cũng tham gia xem có ăn thua gì không?
PHP:
Function ShortName(ByVal sName As String) As String
Dim arrTmp, i As Long
sName = WorksheetFunction.Trim(sName) 'Trim này khác với Trim trong VBA, Trim trong VBA chỉ cắt 2 đầu thôi.'
arrTmp = Split(sName, " ")
If UBound(arrTmp) > 2 Then
    For i = LBound(arrTmp) + 1 To UBound(arrTmp) - 1
        arrTmp(i) = Left(arrTmp(i), 1) & "."
    Next i
    ShortName = Join(arrTmp, " ")
Else
    ShortName = sName
End If
End Function
 
Hàm này chắc chắn sẽ có việc xài sau này (có nhiều người có nhu cầu này). Vậy bạn hãy cố nghĩ ra cái tên hàm sao cho nó GỢI NHỚ (giông cách mà anh Bill đặt tên hàm) để sau này nhìn vào bạn còn biết hàm đó dùng để làm gì. Chứ.. RUT(..) thì.. cá với bạn rằng 1 năm sau bạn sẽ không biết nó là cái gì nếu không xem code
Dạ. Lắm khi đọc lại các Code em đã làm em còn không biết nó hoạt động như thế nào nữa , mặc dù đó là file của em đang sử dụng. Em cán ơn Thầy và GPE rất nhiều để em có được công việc hiện tại như ngày nay ....
 
Vấn đề là mã NV của bạn vô tri giác & mã này không có tính tương tác cao giữa người quản lý & người chịu quản lí;
(Mã như của bạn thì người có mã cũng chả thể nào nhớ được mã của mình, trừ fi đó là số điện thoại của chính người đó.)

Mã mình đề xuất hoàn toàn có thể chuyển thành mác tên tượng trưng của 1 người nhân viên cụ thể nào đó như thường;

Còn cách tạo mã đó cho CQ bạn mình sẽ thực hiện trong vòng các nốt nhạc của 1 bài hát.
Dạ, đây chính là mã chấm công và ra vào,..., buộc phải thuộc còn hơn số điện thoại chứ ạ. Nếu tạo ra mã nữa thì chồng chéo quá bác ạ
Như e trình bày bên trên thì có nhiều người nên trùng tên, sinh nhật là rất nhiều
 
Rảnh rỗi mình cũng tham gia xem có ăn thua gì không?
PHP:
Function ShortName(ByVal sName As String) As String
Dim arrTmp, i As Long
sName = WorksheetFunction.Trim(sName) 'Trim này khác với Trim trong VBA, Trim trong VBA chỉ cắt 2 đầu thôi.'
arrTmp = Split(sName, " ")
If UBound(arrTmp) > 2 Then
    For i = LBound(arrTmp) + 1 To UBound(arrTmp) - 1
        arrTmp(i) = Left(arrTmp(i), 1) & "."
    Next i
    ShortName = Join(arrTmp, " ")
Else
    ShortName = sName
End If
End Function
Ồ Tuyệt vời, đúng là cái e cần
CÁm ơn bác rất rất nhiều
Chúc bác sức khỏe!
 
Web KT

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

Trả lời
42
Đọc
17K
Back
Top Bottom