[Hỏi] code VBA tìm và thay thế chuỗi ký tự

Liên hệ QC

langtuchungtinh360

Thành viên đã dừng hoạt động
Tham gia
7/10/13
Bài viết
1,062
Được thích
334
mọi người cho mình hỏi, mình có ghi macro và chỉnh sửa lại đoạn code thế này để tìm và thay thế chuỗi aaaa thành chuỗi bbbb trong tất cả trang tính
Mã:
Public Sub ThayThe(Optional ByVal GiaTriCanThayThe As String = "  ", _
Optional ByVal GiaTriSeThayThe As String = " ")
Cells.Replace What:=GiaTriCanThayThe, Replacement:=GiaTriSeThayThe, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
nhưng khi chạy
Mã:
 ThayThe  "aaaa", "bbbb"
thì chỉ thực hiện được trên trang tính đang được chọn, còn các trang khác không thay đổi được
vậy phải sửa lại thế nào để thay thế toàn bộ không
yêu cầu là khớp toàn bộ nội dung ô, khớp chữ in chữ thường, không dùng vòng lặp qua từng trang tính.
 
mọi người cho mình hỏi, mình có ghi macro và chỉnh sửa lại đoạn code thế này để tìm và thay thế chuỗi aaaa thành chuỗi bbbb trong tất cả trang tính
.........
yêu cầu là khớp toàn bộ nội dung ô, khớp chữ in chữ thường, không dùng vòng lặp qua từng trang tính.
Khớp toàn bộ nội dung thì đã có tùy chọn LookAt, khớp chữ hoa-thường thì đã có tùy chọn MatchCase. Còn không dùng vòng lặp thì bó tay. Có lẽ phải làm một cách "củ chuối" thế này: Trước khi chạy code, bạn Replace thủ công để bật tùy chọn With in là Workbook, sau đó thì chạy code sẽ được như yêu cầu.
 
Upvote 0
mọi người cho mình hỏi, mình có ghi macro và chỉnh sửa lại đoạn code thế này để tìm và thay thế chuỗi aaaa thành chuỗi bbbb trong tất cả trang tính
Mã:
Public Sub ThayThe(Optional ByVal GiaTriCanThayThe As String = "  ", _
Optional ByVal GiaTriSeThayThe As String = " ")
Cells.Replace What:=GiaTriCanThayThe, Replacement:=GiaTriSeThayThe, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
nhưng khi chạy
Mã:
 ThayThe  "aaaa", "bbbb"
thì chỉ thực hiện được trên trang tính đang được chọn, còn các trang khác không thay đổi được
vậy phải sửa lại thế nào để thay thế toàn bộ không
yêu cầu là khớp toàn bộ nội dung ô, khớp chữ in chữ thường, không dùng vòng lặp qua từng trang tính.
Với công cụ Find and Replace, nếu làm bằng tay thì nó cho phép tìm và thay thế trên toàn workbook nhưng khi viết thành code thì VBA không có chức năng này. Buộc phải vòng lập chứ không có cách nào khác cả
 
Upvote 0
Mình cũng đang gặp vấn đề y chang bạn chủ thread này, nhờ mọi ng giúp mình đoạn code vòng lặp để macro này chạy trơn tru với ạ
 
Upvote 0
Web KT

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

Back
Top Bottom