Em muốn replace tiếng việt (1 người xem)

Liên hệ QC

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

luuphong69

Thành viên mới
Tham gia
24/12/12
Bài viết
36
Được thích
1
Chào cả nhà.
Em là mem mới, vấn đề em hỏi này em cũng ko biết nó nằm trong phần nào nên ko biết post chỗ này có đúng hok, nếu sai mod move giùm em chứ đừng xóa nhé :(

Em cần replace tiếng Việt trong file excel, lúc đầu em tạo các macro (view - record macro)để làm nhưng khi save lại thì macro bị lỗi font.

Các anh chị ai có giải pháp xử lý cái này xin vui lòng giúp em với. Em không rành về excel nên vui lòng hướng dẫn cụ thể giùm em chút. Em xin cảm ơn.

Như trong file thì em cần replace các từ như :
Phim truyện = PT
- tập = - Tập
(Phim TQ= (xóa đi)
........
File mẫu

http://minus.com/lbxwDIU4EvIBHX
 
Lần chỉnh sửa cuối:
Chào cả nhà.
Em là mem mới, vấn đề em hỏi này em cũng ko biết nó nằm trong phần nào nên ko biết post chỗ này có đúng hok, nếu sai mod move giùm em chứ đừng xóa nhé :(

Em cần replace tiếng Việt trong file excel, lúc đầu em tạo các macro (view - record macro)để làm nhưng khi save lại thì macro bị lỗi font.

Các anh chị ai có giải pháp xử lý cái này xin vui lòng giúp em với. Em không rành về excel nên vui lòng hướng dẫn cụ thể giùm em chút. Em xin cảm ơn.

Như trong file thì em cần replace các từ như :
Phim truyện = PT
- tập = - Tập
(Phim TQ= (xóa đi)
........
File mẫu
http://www.mediafire.com/view/?kezqzsogqc2enek
Điều đầu tiên bạn cần làm là đưa ra 1 bảng gồm 2 cột: Cột 1 là những từ cần thay đổi, cột 2 là những từ sẽ thay thế tương ứng
Làm xong bảng này, đưa lên đây rồi ta tính tiếp
 
Em làm rồi đó anh, anh giúp em với
 
xin lỗi, nếu trên forum này ko cho add link vào chữ ký thì em bỏ, chứ em vào đây là nhờ giúp đỡ thật.
Bạn thử hàm tự tạo này.
Copy code vào 1 module, tại B1 của sheet3 nhập = WordChange(a1)
PHP:
Function WordChange(cell As Range) As String
Dim data(), i, tam
data = Sheet1.Range(Sheet1.[A8], Sheet1.[A65536].End(3)).Resize(, 2).Value
tam = cell.Value
   For i = 1 To UBound(data)
      tam = Replace(Replace(tam, data(i, 1), data(i, 2)), ")", "")
   Next
   WordChange = tam
End Function
 
Hic nhập công thức vào C1 mới đúng C1= Tach(B1)

Ủa! Tach là cái quỷ gì ta? Chắc là cái Tach ở bửa tiệc đây?
???!!!
-------------
Ngoài ra, theo như hình của tác giả thấy báo lỗi #NAME?, có thể là chưa Enable macro chăng?
-------------
Mà cái hàm này cũng lạ ghê hen! Có cái vụ:
Mã:
data = Sheet1.Range(Sheet1.[A8], Sheet1.[A65536].End(3)).Resize(, 2).Value
rồi hổng biết áp dụng sang file khác bằng cách nào nữa?
 
Lần chỉnh sửa cuối:
Em làm công thức =Tach(B1) và =WordChange(a1) rồi mà nó vẫn là #NAME? hết anh ơi.

Enable macro chỗ nào anh ?
Em hok rành excel nên mong các anh chỉ cụ thể chút ạ

Bữa nay xỉn quá. Lúc đầu thấy tác giả nói có biết record macro mà

C1= WordChange(B1)


PHP:
Function WordChange(cell As Range) As String
Dim data(), i, tam
data =Sheet1.Range(Sheet1.[A8], Sheet1.[A65536].End(3)).Resize(, 2).Value
tam = cell.Value
   For i = 1 To UBound(data)
      tam = Replace(Replace(tam, data(i, 1), data(i, 2)), ")", "")
   Next
   WordChange = tam
End Function
 
Lần chỉnh sửa cuối:
Theo mình nhận định, trong file của tác giả có những từ như vậy nằm rải rác, bây giờ muốn thay thế các từ đó bằng các từ khác tương ứng chỉ bằng một cái bấm nút, nhưng vì font là font Unicode, VBA không hổ trợ nên tác giả không làm được. Phải vậy không tác giả? Nếu vậy thì dùng hàm sao được? và các bạn đang đi sai đường rồi!
 
Ủa! Tach là cái quỷ gì ta? Chắc là cái Tach ở bửa tiệc đây?
???!!!
Mà cái hàm này cũng lạ ghê hen! Có cái vụ:
Mã:
data = Sheet1.Range(Sheet1.[A8], Sheet1.[A65536].End(3)).Resize(, 2).Value
rồi hổng biết áp dụng sang file khác bằng cách nào nữa?
Bữa nay xỉn quá anh ơi.
............
Em gán cho biến Data vùng dữ liệu để dò tìm đúng rồi mà anh. Hay hôm nay anh cũng xỉn ta?
Có đi qua sheet nào thì sheet1 cũng không thể thay đổi mà.
 
Mấy anh xem em làm như dzầy có đúng hok mà vẫn ra #NAME

Bỏ Code vào trong module1 chỗ này có đúng hok (nhấn Alt F11 mở cửa sổ này)


Enable macro như vầy được chưa ạ ?




À, em xài office 2013 64bit ko biết có vấn đề gì với code này ko ?
 
Theo mình nhận định, trong file của tác giả có những từ như vậy nằm rải rác, bây giờ muốn thay thế các từ đó bằng các từ khác tương ứng chỉ bằng một cái bấm nút, nhưng vì font là font Unicode, VBA không hổ trợ nên tác giả không làm được. Phải vậy không tác giả? Nếu vậy thì dùng hàm sao được? và các bạn đang đi sai đường rồi!
Dạ đúng rồi anh, tuy em ko rành excel này nhưng khi làm macro bị lỗi font thì em có lên mạng tìm hiểu là do VBA ko hỗ trợ unicode.
Em hok biết làm sao để xử lý vấn đề này nên lên đây nhờ giúp đỡ.
 
Bạn xem file cho nhanh nhé
 

File đính kèm

được rồi anh, do em bỏ cái module sai chỗ :P. Em cảm ơn nhiều

Ủa anh ơi, sao cái - Tập em viết hoa chữ T mà replace thành chữ - tập vậy ?, sửa giùm em với
 
Lần chỉnh sửa cuối:
File đính kèm dùng VBA, Bạn thử xem có đúng ý bạn không ?
 

File đính kèm

Hy vọng file sau đúng ý bạn
 

File đính kèm

Cảm ơn bạn. Có cách nào để mình chọn 1 vùng cần replace rồi nhấn nút macro đó để nó thay ko bạn :D
 
Cảm ơn bạn. Có cách nào để mình chọn 1 vùng cần replace rồi nhấn nút macro đó để nó thay ko bạn :D

Rồi! được Voi đòi Hai Bà Trưng rồi, câu trả lời của tôi là có thể được. Nhưng với bạn thì tôi không thể giúp được gì vì tôi sài Office 2003, tụt hậu so với bạn 10 năm!, giao diện khác nhau hoàn toàn, nếu bạn dùng phiên bản giống tôi, tôi sẽ tặng cho một cái nút ngang hàng với các nút cut, copy, ... để dùng cho việc này.
Nhưng nếu không có nút đó thì file trên tạm thỏa mãn yêu cầu của bạn chưa? Nếu đã đạt yêu cầu bạn và nếu bạn biết sử dụng Add-ins thì tạo (hoặc nhờ mọi người tạo) một file Add-ins để có thể dùng cho mọi fille dữ liệu.

Ps: Nhưng mà bạn đã biết dùng file trên được chưa vậy? (Nhấn nút, chọn sheet--> chọn vùng (dùng chuột để chọn)--> OK)
 
Lần chỉnh sửa cuối:
File đính kèm dùng VBA, Bạn thử xem có đúng ý bạn không ?

Không biết tôi có xỉn không nhưng nhìn dòng

Mã:
tmp = Sheets("Tu dien").[a3:a65000].Find(cls, , , 1).Address

tôi cảm thấy không đúng ý tác giả.

Ý tác giả: Với dòng bất kỳ tìm trong nó những từ có trong từ điển (và thay thế)
Code làm: Với dòng bất kỳ tìm nó trong từ điển

Tức nếu trong TĐ có: Phim truyện --> PT
thì dòng "Phim truyện hay" đổi thành "PT hay"

Nhưng code là tìm "Phim truyện hay" trong từ điển. Vậy làm sao mà tìm thấy?
 
Hy vọng file sau đúng ý bạn

Code của bạn đổi "Phim truyện: Nữ sinh (Phim VN - tập 8)" thành "PT: Nữ sinh PTVN - tập 8)"
Như thế là đúng ý người hỏi nhưng gặp những trường hợp như thế thì nên xóa dấu ")"

Tuy nhiên tôi có cảm giác là có cái gì đó chưa ổn trong yêu cầu của người hỏi.

Ta xét "Phim truyện: Nữ sinh (Phim VN - tập 8)".

Nếu là tôi thì tôi đổi thành "PT: Nữ sinh (PTVN - tập 8)"

Bỏ ngoặc thành "PT: Nữ sinh PTVN - tập 8" nó kỳ kỳ thế nào ấy.

Theo tôi cái "PTVN" kia nó là lời chú thích, giải thích thêm, làm rõ nghĩa thêm nên phải để trong ngoặc đơn. Hoặc cùng lắm là để sau dấu gạch ngang "-".

Ngoài ra có thể gây hiểu lầm.

Ví dụ:
"Phim truyện: CLB Thanh niên (Phim VN - tập 8)"

Đổi thành:

"PT: CLB Thanh niên (PTVN - tập 8)"

thì chả sao nhưng nếu đổi thành:

"PT: CLB Thanh niên PTVN - tập 8"

thì PTVN không còn là chú thích nữa mà nó là một phần của tên. Vậy tên phim là "CLB Thanh niên Phật Tử Việt Nam"?

Tất nhiên đây chỉ là cảm nhận của tôi. Tôi không áp đặt cho ai cả.
 
Mình qua sheet 3 thay thế nội dung trong đó thế nào bạn ?

Tại sheets("Tu dien") bạn có 2 cột GốcReplace
Tại cột A của sheets("Relace") bạn nhập tên gốc rồi nhấn nút Run code -> thì tên gốc đó sẽ được sửa thành tên như cột Replace.

Trong file tôi đã làm sẵn bạn chỉ việc mở sheets("Relace") rồi nhấn nút Run code để xem kết quả. Nếu muốn thêm thì cứ bổ sung rồi chạy lại code.
 
Lần chỉnh sửa cuối:
Code của bạn đổi "Phim truyện: Nữ sinh (Phim VN - tập 8)" thành "PT: Nữ sinh PTVN - tập 8)"
Như thế là đúng ý người hỏi nhưng gặp những trường hợp như thế thì nên xóa dấu ")"

Tuy nhiên tôi có cảm giác là có cái gì đó chưa ổn trong yêu cầu của người hỏi.

Ta xét "Phim truyện: Nữ sinh (Phim VN - tập 8)".

Nếu là tôi thì tôi đổi thành "PT: Nữ sinh (PTVN - tập 8)"

Bỏ ngoặc thành "PT: Nữ sinh PTVN - tập 8" nó kỳ kỳ thế nào ấy.

Theo tôi cái "PTVN" kia nó là lời chú thích, giải thích thêm, làm rõ nghĩa thêm nên phải để trong ngoặc đơn. Hoặc cùng lắm là để sau dấu gạch ngang "-".

Ngoài ra có thể gây hiểu lầm.

Ví dụ:
"Phim truyện: CLB Thanh niên (Phim VN - tập 8)"

Đổi thành:

"PT: CLB Thanh niên (PTVN - tập 8)"

thì chả sao nhưng nếu đổi thành:

"PT: CLB Thanh niên PTVN - tập 8"

thì PTVN không còn là chú thích nữa mà nó là một phần của tên. Vậy tên phim là "CLB Thanh niên Phật Tử Việt Nam"?

Tất nhiên đây chỉ là cảm nhận của tôi. Tôi không áp đặt cho ai cả.

Anh ơi, cái này do danh sách yêu cầu Replace của Sheet từ điển quyết định chớ mình không được tùy tiện, nếu muốn xóa dấu ngoặc nào thì họ phải thêm dấu ngoặc đó vào danh sách và thực hiện Replace cho vùng nào đó nếu họ muốn.
 
Lần chỉnh sửa cuối:
Anh ơi, cái này do danh sách yêu cầu Replace của Sheet từ điển quyết định chớ mình không được tùy tiện, nếu muốn xóa dấu ngoặc nào thì họ phải thêm dấu ngoặc đó vào danh sách và thực hiện Replace cho vùng nào đó nếu họ muốn.

Thì vì thế mà tôi không nói là sai (tôi nói rõ là đúng ý người hỏi mà) với yêu cầu mà chỉ nói nên xóa dấu ")"
Thì bạn cũng thấy nếu cứ để dấu ")" thì trông nó kỳ kỳ thế nào ấy.
--------------
Tôi nghĩ là người hỏi chưa nghĩ thấu đáo và nói hết ý mình.
Tức đã xóa "(" thì nên nói thêm là lúc đó xóa cả ")"
Và tôi cho là nghĩ chưa thấu đáo thì tôi đã xét các vd. tiếp theo mà. Tất nhiên chỉ là cảm nhận của tôi thôi. Tôi không cho là phải như tôi nghĩ.
 
Lần chỉnh sửa cuối:
Thì vì thế mà tôi không nói là sai (tôi nói rõ là đúng ý người hỏi mà) với yêu cầu mà chỉ nói nên xóa dấu ")"
Thì bạn cũng thấy nếu cứ để dấu ")" thì trông nó kỳ kỳ thế nào ấy.
--------------
Tôi nghĩ là người hỏi chưa nghĩ thấu đáo và nói hết ý mình.
Tức đã xóa "(" thì nên nói thêm là lúc đó xóa cả ")"
Và tôi cho là nghĩ chưa thấu đáo thì tôi đã xét các vd. tiếp theo mà. Tất nhiên chỉ là cảm nhận của tôi thôi. Tôi không cho là phải như tôi nghĩ.

Cũng chính vì lẽ đó mà sau khi nhìn cái bảng tra cứu (TĐ), em chả muốn làm (lằng nhằng sao ấy...)
Chứ dạng bài Find and Replace này có phải là khó khăn gì đâu
Ẹc... Ẹc...
 
Lần chỉnh sửa cuối:
Cảm ơn các anh, em làm được rồi.

Ta xét "Phim truyện: Nữ sinh (Phim VN - tập 8)".

Nếu là tôi thì tôi đổi thành "PT: Nữ sinh (PTVN - tập 8)"

Bỏ ngoặc thành "PT: Nữ sinh PTVN - tập 8" nó kỳ kỳ thế nào ấy.
Chính xác của cái replace này thì nó sẽ thành PTVN: Nữ sinh - Tập 8
Tuy nhiên do trình độ hiểu biết của em ko đủ nên em chỉ nghĩ được replace mấy từ như file em đưa lên và nhờ các anh giúp đỡ thôi :D.
Tuy nhiên, Trong các lịch truyền hình em làm thì chỉ có 1 lịch này nó lộn xộn thôi còn bình thường thì nó sẽ là:
Phim Truyện Việt Nam = PTVN

Lần đầu em nhờ giúp đỡ trên diễn đàn đã được các anh giúp đỡ tận tình thế này em rất vui
Xin cảm ơn lần nữa :D
 

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

Back
Top Bottom