Chuyển từ không dấu sang có dấu trong excel (1 người xem)

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

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

vt01

Thành viên mới
Tham gia
27/11/07
Bài viết
37
Được thích
2
Không biết có pác nào ra tay nghĩa hiệp giúp tôi có được không???
Hiện tôi đang rất cần một add in như sau:

Nó tương tự như vlookup nhưng công dụng chính là chuyển từ tiếng Việt không có dấu sang có dấu (TCVN3, Unicode)

Tôi có một bảng dữ liệu trong đó có một số field thay đổi cần hiển thị tiếng Việt như tên hàng hóa.

Vì file xls này được downloaded bởi một chương trình ko hổ trợ tiếng Việt nên trên file xls hiển thị tiếng Việt ko dấu. Tôi muốn một addin nào đó cho phép tôi thay thế từ tiếng Việt ko dấu sang có dấu như vlookup mà nhiều người nói nó là dạng từ điển: thí dụ khi chạy chức năng thay thế của addin thì khi nó tìm thấy chữ "day keo" hay "vai chinh" hay "vai phu" thì sẽ tự động thay bằng "dây kéo" "vải chính" vải phụ" .....Addin này sẽ dựa vào một bảng dữ liệu tương tự như bảng dò trong vlookup (từ điển). Ko biết đã có một addin nào như vậy ko, nếu có thì cho tôi xin, tks
 
Về nguyên tắc chung thì không có phương pháp hoàn toàn đúng để chuyển từ tiếng Việt không dấu sang có dấu, trong web Lê Hoàn có bài viết rất công phu của 1 tác giả, có phổ biến phần cả phần mềm free nầy, viết bằng vb6 .Sau 1 thời gian cũng đã có 1 website thử chuyển đổi trực tuyến, nhưng cũng đúng được khoảng 80-90 %.Trong source code tác giả đã dùng nhiều thuật toán rất cao siêu, lập ra 4,5 bộ tự điển: kỹ thuật, vi tính , xã giao...khi dịch phải chọn loại tự điển thích hợp thì mới cho ra kết quả tương đối được
Nếu bạn chỉ cần chuỷen đổi 1 số ít từ chuyên môn thì giải quyết được thôi, bạn cứ làm 2 cột, 1 có dấu, 1 không dấu rồi post lên, sẽ có ng làm cho
 
vt01 đã viết:
Tôi có một bảng dữ liệu trong đó có một số field thay đổi cần hiển thị tiếng Việt như tên hàng hóa.
Chuyển từ có dấu sang không dấu thì dễ. Nhưng ngược lại là điều không thể như bạn kelvin đã nói. Nhưng với số lượng ít, các từ lặp đi lặp lại thì được. Trước hết bạn phải lọc ra danh sách 2 cột: cột từ cần chuyển và cột từ đã chuyển, rồi dùng VBA để chuyển.
 
cám ơn các bạn đã trả lời. Mình ko biết lập trình nhưng mình nghĩ việc chuyển từ có dấu sang ko dấu là nó sẽ tìm các ký tự có dấu thí dụ ă, â ắ ằ gì đó và thay thế bằng a.việc chuyển đổi này theo nguyên tắc thay thế. dữ liệu của mình thì chắc khoảng hơn trăm dòng mặt hàng nhưng có thể có phát sinh thêm mặt hàng mới. Mình cần một addin cho phép mình import file tap limited text (*.txt) gồm tên hàng ko dấu và có dấu ngăn cách bới 1 tap và thay thế ko dấu sang có dấu theo data đươc import vào. Như vậy nếu sử dụng phương pháp thay thế liệu có khả thi đươc ko nếu chuyển từ ko dấu sang có dấu hơn 100 dòng vậy các bạn????
 
Lần chỉnh sửa cuối:
Dữ̃ liệu của mình thì chắc khoảng hơn trăm dòng mặt hàng nhưng có thể có phát sinh thêm mặt hàng mới. Mình cần một addin cho phép mình import file tap limited text (*.txt) gồm tên hàng ko dấu và có dấu ngăn cách bới 1 tap và thay thế ko dấu sang có dấu theo data đươc import vào. Như vậy nếu sử dụng phương pháp thay thế liệu có khả thi đươc ko nếu chuyển từ ko dấu sang có dấu hơn 100 dòng vậy các bạn????
Theo mình, bạn nên lập danh mục hàng hóa gồm các trường như sau:
[Ma], [Ten1], [Ten2];
Trong đó [Ma] là duy nhất;
[Ten1] (hay [Ten2]) là tên hàng có dấu (hay không dấu) & ngược lại!
Bạn đưa lên sẽ có người viết cho bạn phần macro, nhất định có!
@$@!^%
 
sa_dq support mình nhe
 

File đính kèm

Lần chỉnh sửa cuối:
Nếu dử liệu chỉ có bấy nhiêu thì bạn có thể lập 1 bảng, dùng hàm VLOOKUP tra ra dc mà...
 
ko được bạn ơi, như mình đã nói thì dữ liệu có thể phát sinh thêm và trên đây chỉ là một phần thôi. Mình muốn một thằng addin gần gần vlookup lại gần gần chức năng replace của excel lại gần gần chức năng convert trong bộ nhớ đệm của unikey
 
bạn vào trang web
HTML:
http://www.echip.com.vn
có phần mềm tên là "ampad" được viết theo VB6 bạn tham khảo nhé
 
vt01 đã viết:
Đây là giải pháp excel mà bạn đưa file txt làm mình không thể đọc được;
Bạn có thể đưa file excel được không ? Giúp cái!
 
Giải pháp như vầy, không biết có đúng với VT01 không?
Trong tập tin Themdau.xls có sheet DATA có 2 cột: Khong dauCó dấu. VT01 nhập dữ liệu liên tục vào 2 cột này (không bỏ dòng trống). Muốn bổ sung thêm cứ nhập tiếp.
Muốn thêm dấu, mở tập tin cần thêm dấu và Themdau.xls.
- Chọn liên tục các ô cần thêm dấu
- Nhấn Ctrl+Shift+A hoặc chạy macro ThemDau để thêm dấu.
Mã:
Sub ThemDau()
If ActiveSheet.Name = "DATA" Then Exit Sub
Set data = ThisWorkbook.Sheets("DATA")
rc = data.Cells(1, 1).End(xlDown).Row
Set khongdau = Range(data.Cells(1, 1), data.Cells(rc, 1))
On Error Resume Next
For Each mycell In Selection
  r = 0
  myfind = mycell.Value
  If myfind = "" Then Exit Sub
  r = WorksheetFunction.Match(myfind, khongdau, 0)
  If r > 0 Then
    mycell.Value = data.Cells(r, 2)
  End If
Next
MsgBox "Da them dau xong"
End Sub
Chú ý vùng chọn phải có dữ liệu liên tục, gặp ô trống nó kết thúc.
 

File đính kèm

vt01 đã viết:
ko được bạn ơi, như mình đã nói thì dữ liệu có thể phát sinh thêm và trên đây chỉ là một phần thôi. Mình muốn một thằng addin gần gần vlookup lại gần gần chức năng replace của excel lại gần gần chức năng convert trong bộ nhớ đệm của unikey

unikey là đổi giữa các bảng mã với nhau, còn ở đây là đổi từ có dấu sang không dấu,

tốt nhất theo các ý kiến trên bạn cần đổi cứ up hết lên đây, tất cả lun và dĩ nhiên là trong excel -> mọi TV sẽ xem xét tổng quan cả và phạm vi của dữ liệu này sẽ có cách giúp bạn,

thế nhé
 
Phần tiếng việt dùng bảng mã tcvn, bạn set font lại notepade là đọc được ngay
 
PHP:
Phần tiếng việt dùng bảng mã tcvn, bạn set font lại notepade là đọc được ngay

Hình như bạn này đòi hỏi, chứ không phải nhờ giúp đỡ đâu!!!
Có mỗi cái chuyện đưa file excel lên mà cũng không chịu thì chờ sung rụng vậy nha!

Bạn thử đưa 1 bảng gồm 2 cột; 1 cột tiếng anh & 1 cột tiếng ả rập đi chăng nữa, ở GPE này cũng sẽ có người làm từ điển 2 chiều cho bạn, miễn là file excel. Đơn giản vì forum này nói nhiều đên excel!

http://giaiphapexcel.com/forum/showthread.php?t=5652#2

!$@!!
 
Lần chỉnh sửa cuối:
mình chả có ý gì đâu chẳng qua là file text này cách nhau bởi một tap chỉ cần copy rồi paste qua excel là xong nên mình nghĩ chẳng cần gửi file xls làm gì
 
Bạn Long ơi, khi mình click vào một cell nhấn CS+A thì ok, nhưng mình làm với các merge cell thì ko có tác dụng Long chỉnh giùm mình đượ hong????
 
vt01 đã viết:
Bạn Long ơi, khi mình click vào một cell nhấn CS+A thì ok, nhưng mình làm với các merge cell thì ko có tác dụng Long chỉnh giùm mình đượ hong????
Bạn phải bỏ merge cell trước khi chọn. Khi trong vùng bạn chọn có ô merge cell ngang, bạn không thể chọn 1 cột. nhưng chọn trên 1 cột thì themdau không xác định được ô nào là dữ liệu.
 
vt01 đã viết:
Vậy là đành bó tay rồi
Tôi thấy Thầy Long đã HD rồi mà, bỏ merge, sau đó chạy code thôi. Bài này là chỉ tìm "..." không dấu và thay thế có dấu.
Bạn nên nêu những điều mà chưa làm được.
 
Khi chọn cell a2 nhấn CS+A ok, nhưng chọn Row1 thì ko có tac dụng, mr Long có cách nào ko nếu như convert từng cell chắc chết quá
 

File đính kèm

Lần chỉnh sửa cuối:
phamduylong đã viết:
Giải pháp như vầy, không biết có đúng với VT01 không?
Trong tập tin Themdau.xls có sheet DATA có 2 cột: Khong dauCó dấu. VT01 nhập dữ liệu liên tục vào 2 cột này (không bỏ dòng trống). Muốn bổ sung thêm cứ nhập tiếp.
Muốn thêm dấu, mở tập tin cần thêm dấu và Themdau.xls.
- Chọn liên tục các ô cần thêm dấu
- Nhấn Ctrl+Shift+A hoặc chạy macro ThemDau để thêm dấu.
Mã:
Sub ThemDau()
If ActiveSheet.Name = "DATA" Then Exit Sub
Set data = ThisWorkbook.Sheets("DATA")
rc = data.Cells(1, 1).End(xlDown).Row
Set khongdau = Range(data.Cells(1, 1), data.Cells(rc, 1))
On Error Resume Next
For Each mycell In Selection
  r = 0
  myfind = mycell.Value
  If myfind = "" Then Exit Sub
  r = WorksheetFunction.Match(myfind, khongdau, 0)
  If r > 0 Then
    mycell.Value = data.Cells(r, 2)
  End If
Next
MsgBox "Da them dau xong"
End Sub
Chú ý vùng chọn phải có dữ liệu liên tục, gặp ô trống nó kết thúc.


sau mình làm theo pác chỉ thì không thấy gì xãy ra hết zay, em cũng chọn ctr+sh+A thì có thấy thêm dấu gì đâu nhỉ
 
ongtrungducmx25 đã viết:
sau mình làm theo pác chỉ thì không thấy gì xãy ra hết zay, em cũng chọn ctr+sh+A thì có thấy thêm dấu gì đâu nhỉ
ongtrungducmx25 tạo mới hay mở Themdau.xls ? Nếu làm bảng tính mới và copy sub Themdau vào module thì Ctrl+Shift+A đâu có tác dụng.

vt01 đã viết:
Khi chọn cell a2 nhấn CS+A ok, nhưng chọn Row1 thì ko có tac dụng, mr Long có cách nào ko nếu như convert từng cell chắc chết quá
Bạn tải về ThemdauRC.zip, cho phép bạn chọn dữ liệu ở nhiều dòng, nhiều cột.
 

File đính kèm

Anh Long oi anh làm cho em cái nút lệnh trên toolbar nhe, bấm 3 phím có lúc "ăn", lúc "ko ăn" anh oi
 
vt01 đã viết:
Anh Long oi anh làm cho em cái nút lệnh trên toolbar nhe, bấm 3 phím có lúc "ăn", lúc "ko ăn" anh oi
Nút lệnh làm sao sử dụng được ? Nó ở bên ThemdauRC, khi mở tập tin để chuyển dấu nó che mất làm sao sử dụng.
Tôi tạo menu trên thanh menu. Click vào nó thi hành.
 

File đính kèm

Theo mình thì Dịch từ không dấu sang có dấu sẽ không chính xác. Vì 1 từ, cụng từ không dấu dịch ra có dấu lại cho ra 2 hay nhiều nghĩa Đúng.
VD: mai di choi voi chung toi nha -> mai đi chơi với chúng tôi nha hoặc mãi đi chơi với chúng tôi nha hoặc mai đi chơi Voi chung tôi nha => vậy cái nào là đúng ? do đó chúng ta phải biết cái câu văn chính xác đầu tiên có dấu của tác giả.

Để chính xác đo nhu cầu 1 số ứng dụng công việc không thể đọc được Tiếng Việt nên chúng ta sẽ mã hóa tiếng việt có dấu thành không dấu sau đó chuyển đổi lại.
VD: ngọc -> mã hóa (Ngo5c)
Mai đi chơi không -> mã hóa không dấu ( Mai d9i cho7i kho6ng) -> chuyển sang tiếng việt Mai đi chơi không

Vậy sẽ chính xác 100%

Tiểu Long Trương
 

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

Back
Top Bottom