Tạo nút Macro khi nhấn sẽ thay thế thành cụm từ Tiếng Việt có dấu

Liên hệ QC

ThuyNguyenHN

Thành viên hoạt động
Tham gia
24/6/09
Bài viết
159
Được thích
12
Các Thầy và anh chị cho em hỏi vấn đề khi muốn tạo 1 macro để thay thế thành Tiếng Việt có dấu:

VD: từ ban đầu là :
Thanh TH khi nhấn Macro thì nhó thay thế thành: THANH - THANH HÓA
HOA HO
thì thay thế sẽ thành HOA - HÀ NỘI
THUẬN AN QN
thì thay thế sẽ thành THUẬN AN - QUẢNG NINH
HÒA HP
thì thay thế sẽ thành HÒA - HẢI PHÒNG; v.v...


(Với font em dùng là font Arial/Unicode, data có nhiều hàng không tiện dùng hàm Vlookup)
Xin hãy xem file đính kèm và chỉ giúp ạ!
 

File đính kèm

Theo mình nghĩ yêu cầu này khó ah
HOA HO -------> HOA - HÀ NỘI
HOA HO -------> HÓA - HÀ NỘI
HOA HO -------> HÒA - HÀ NỘI

HOA HO -------> HỌA - HÀ NỘI
HOA HO
-------> HỎA - HÀ NỘI

Làm sao biết bỏ dấu nào o_Oo_Oo_Oo_O
 
Upvote 0
Theo mình nghĩ yêu cầu này khó ah
HOA HO -------> HOA - HÀ NỘI
HOA HO
-------> HÓA - HÀ NỘI
HOA HO -------> HÒA - HÀ NỘI
HOA HO
-------> HỌA - HÀ NỘI
HOA HO
-------> HỎA - HÀ NỘI

Làm sao biết bỏ dấu nào o_Oo_Oo_Oo_O
Người ta chỉ muốn thay 2 chữ cuối thôi mà.
 

File đính kèm

Upvote 0
hihi em chua coi file mẫu
Cái này Ctrl + H mà đổi thôi
Theo mình nghĩ Ctrl+H thì không ổn vì chủ thớt muốn tráng qua cùng một lúc dữ liệu đầu vào theo yêu cầu. Ctrl+H chỉ xử lý một đoạn chứ xử lý cả mớ theo điều kiện đặt ra như vậy thì mình nghĩ chưa ra cách, nhờ bạn chỉ giáo thêm. :D . Theo code của thầy #BaTe thì ổn quá rồi ạ.
Hoặc có thể dùng hàm:
Mã:
=LEFT(C3;FIND(" ";C3;1))&" "&VLOOKUP(RIGHT(C3;LEN(C3)-FIND(" ";C3;1));$L$3:$M$13;2;)
 
Lần chỉnh sửa cuối:
Upvote 0
^H hoặc Nên sử dụng công thức VLOOKUP như bài 5 trên
Nếu VBA, Bài này tạo lười cho người sử dụng

Chủ topic nên nói rõ đưa file cụ thể chi tiết ứng dụng gì, còn file ở bài 1 chỉ là dữ liệu gốc về cách thay thế. Còn thực tế đoạn mà bạn cần áp dụng là gì thì không rõ.

Mọi người không nên sốt xắng quá, khi người hỏi chưa hỏi rõ - làm thế giải pháp chỉ khó mà đáp ứng hoặc có thì cũng làm người hỏi càng ẩu khi đặt vấn đề cần hỏi
 
Upvote 0
Cái này trước sau gì thì cũng phải đi qua bảng tra. Không có bảng tra thì làm sao biết QN là Quảng Ninh, Quảng Nam, hay Quảng Ngãi; BT là Bình Thuận hay Bến Tre?
Mà đã có bảng tra thì ... VLookup ! VBA chỉ là gượng ép.
 
Upvote 0
Cảm ơn các anh chị
Vì file có khoảng 10.000 hàng và dùng Vlookup không tiện nên việc có 1 nút Macro nhấn thì tự động thay thế cột đó (với 2 chữ cái cuối) thành cụm từ mới mà không bị VD: HOA HO chỉ thay HO thành - HÀ NỘI; THU TH thay thành THU - THANH HÓA (chữ TH ở đầu tiên k bị thay)
Bài đã được tự động gộp:

Người ta chỉ muốn thay 2 chữ cuối thôi mà.
Em cảm ơn anh Ba Tê. Em thấy code này áp dụng được ạ
 
Upvote 0
Người ta chỉ muốn thay 2 chữ cuối thôi mà.
Em sẽ để bảng data viết tắt tương ứng với cụm cần thay ở 1 sheet(sheet data -như trong file đính kèm) còn sheet bên cạnh là sheet chứa cột cần thay, khi em nhấn nút macro ở bên sheet Hien thi thì bên sheet Hien thị sẽ thay thế ở cột C thì khi này code sẽ phải sửa thành thế nào ạ?
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Vì file có khoảng 10.000 hàng và dùng Vlookup không tiện nên việc có 1 nút Macro nhấn thì tự động thay thế cột đó (với 2 chữ cái cuối) thành cụm từ mới mà không bị
VD:
HOA HO chỉ thay HO thành - HÀ NỘI; THU TH thay thành THU - THANH HÓA (chữ TH ở đầu tiên k bị thay)
Không có bảng tra thì làm sao biết QN là Quảng Ninh, Quảng Nam, hay Quảng Ngãi; BT là Bình Thuận hay Bến Tre?
Mà đã có bảng tra thì ... VLookup ! VBA chỉ là gượng ép
Mình khuyến cáo chủ bài đăng nên tạo danh mục các tỉnh thành gồm 3 kí tự, như sau:
PHP:
 Mã      Tên tỉnh
HNi  Hà Nội
HCM  Tp. Hồ Chí Minh
THa  Thanh Hóa
TBh  Thái Bình
TQg  Tuyên Quang
TNh  Tây Ninh
TNn  Thái Nguyên
. .    . . . .
Với bản này ta có thể thêm các địa danh khác thường gặp để xài trong việc nào đó;
& Mình rất muốn biết bạn xài vô việc gì vậy?
Nhưng dủ sao cũng không cần bước thứ 2 là diễn dịch các mã này ra thành địa danh hàng loạt như vậy
Chỉ khi nào thật cần thiết mói diễn dịch ra thôi; Như trong các báo cáo để in ra, gởi đi CQ khác, . . .
 
Upvote 0
Mình khuyến cáo chủ bài đăng nên tạo danh mục các tỉnh thành gồm 3 kí tự, như sau:
PHP:
 Mã      Tên tỉnh
HNi  Hà Nội
HCM  Tp. Hồ Chí Minh
THa  Thanh Hóa
TBh  Thái Bình
TQg  Tuyên Quang
TNh  Tây Ninh
TNn  Thái Nguyên
. .    . . . .
Với bản này ta có thể thêm các địa danh khác thường gặp để xài trong việc nào đó;
& Mình rất muốn biết bạn xài vô việc gì vậy?
Nhưng dủ sao cũng không cần bước thứ 2 là diễn dịch các mã này ra thành địa danh hàng loạt như vậy
Chỉ khi nào thật cần thiết mói diễn dịch ra thôi; Như trong các báo cáo để in ra, gởi đi CQ khác, . . .

Từ đầu tác giả đã có mã tỉnh và chắc chắn không trùng, ví dụ Hà Nội không phải là HN mà là HO, như thế chắc chắn Hà Nam cũng không phải là HN. Có khi đừng quan trọng hóa cái mã, miễn sao nó không trùng là được, mắc gì Ba Tê phải là bate00. Tôi muốn Ba Tê có mã là GPE00098 thì sao?
Cả thế giới có mã định danh, chẳng cần cái chữ cái họ lót tên nữa rồi. Cứ tìm "abcdefghijkl" 12 ký tự định danh là ra ngay cái "bản mặt" ai đó rồi.
 
Lần chỉnh sửa cuối:
Upvote 0
Lấy ký tự đầu và ký tự cuối vậy gặp Hậu Giang và Hà Giang thì sao?
 
Upvote 0
Thì Hà Giang có trước, ta bổ nhiệm cho nó chức HaG; Chuyện này do mình mà & như mã chứng khoán í!
Tất nhiên 3 ký tự dễ xoay qua xoay lại hơn 2.
 
Upvote 0
Mình khuyến cáo chủ bài đăng nên tạo danh mục các tỉnh thành gồm 3 kí tự, như sau:
PHP:
 Mã      Tên tỉnh
HNi  Hà Nội
HCM  Tp. Hồ Chí Minh
THa  Thanh Hóa
TBh  Thái Bình
TQg  Tuyên Quang
TNh  Tây Ninh
TNn  Thái Nguyên
. .    . . . .
Với bản này ta có thể thêm các địa danh khác thường gặp để xài trong việc nào đó;
& Mình rất muốn biết bạn xài vô việc gì vậy?
Nhưng dủ sao cũng không cần bước thứ 2 là diễn dịch các mã này ra thành địa danh hàng loạt như vậy
Chỉ khi nào thật cần thiết mói diễn dịch ra thôi; Như trong các báo cáo để in ra, gởi đi CQ khác, . . .


Em dùng trong việc thay thế tên viết tắt của các Tỉnh ạ.
 
Upvote 0
Web KT

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

Back
Top Bottom