Nhờ chỉ bảo các dùng VBA để tìm kiếm và thay thế trong toàn workbook

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

Tunht

Thành viên mới
Tham gia
8/6/17
Bài viết
6
Được thích
0
Giới tính
Nam
Mình muốn tạo 1 macro tìm kiếm và thay thế nhiều giá trị trong toàn workbook, nhờ các bác chỉ giúp.
Cụ thể mình có 1 file có rất nhiều sheet (Mình dùng Office 2010):
+ Mình muốn tạo Macro tìm kiếm thay thế chuỗi text "01-05-2017" thành "01-07-2017", "02-05-2017" thành "02-07-2017" , ...., "31-05-2017" thành "31-07-2017" ( giá trị text sẽ chạy theo ngày tăng dần của 1 tháng , đặc biệt có 1 dòng cuối mỗi sheet là ngày đầu tiên của tháng tiếp theo (01-06-2017 thành 01-08-2017)
+ Cụ thể mời các bạn xem file đính kèm của mình.
Xin cảm ơn các bạn.

P/s: Xin lỗi các bạn mình nói chưa hết ý. Giá trị cần tìm kiếm và thay thế ko phải ở cột A mà là các cột còn lại. Các bạn coi giá trị trả về tại các ô còn lại mình link đường dẫn từ file excel khác. Đường dẫn thư mục là do người khác tạo ra. Mình là người tổng hợp cuối cùng.

Ví dụ: Nta định kỳ theo tháng sẽ tạo ra folder có tên cụ thể theo file mình đính kèm các ô cho giá trị trả về có đường dẫn tương tự : ='C:\Dropbox\THONG SO VAN HANH B02\TS-SL cac TBA\2017\T05.2017\[B02-31-05-2017.xls]5DN'!$N$17
- Phần mình bôi đậm là phần mình cần tìm kiếm và thay thế theo từng tháng, từng ngày trong tháng.
 

File đính kèm

Lần chỉnh sửa cuối:
Không cần đến macro đâu bạn, dùng hàm nhanh hơn, chuẩn hơn đấy. Bạn đặt công thức tại cột AO12=DATE(YEAR(A12);MONTH(A12)+2;DAY(A12))+HOUR(A12)/24. Fill đến hết rồi copy pasta value để lấy giá trị "chết".
 
Không cần đến macro đâu bạn, dùng hàm nhanh hơn, chuẩn hơn đấy. Bạn đặt công thức tại cột AO12=DATE(YEAR(A12);MONTH(A12)+2;DAY(A12))+HOUR(A12)/24. Fill đến hết rồi copy pasta value để lấy giá trị "chết".
Với công thức của bạn, sao tôi áp dụng vẫn chưa cho kết quả đúng, bạn nhỉ?
31-07-2017 9-41-12 AM.jpg
 
Không cần đến macro đâu bạn, dùng hàm nhanh hơn, chuẩn hơn đấy. Bạn đặt công thức tại cột AO12=DATE(YEAR(A12);MONTH(A12)+2;DAY(A12))+HOUR(A12)/24. Fill đến hết rồi copy pasta value để lấy giá trị "chết".

P/s: Xin lỗi các bạn mình nói chưa hết ý. Giá trị tìm kiếm ko chỉ mỗi ở cột A không đâu. Các bạn coi giá trị trả về tại các ô còn lại mình link đường dẫn từ file excel khác. Đường dẫn thư mục là do người khác tạo ra. Mình là người tổng hợp cuối cùng.

Ví dụ: Nta định kỳ theo tháng sẽ tạo ra folder có tên cụ thể theo file mình đính kèm các ô cho giá trị trả về có đường dẫn tương tự : ='C:\Dropbox\THONG SO VAN HANH B02\TS-SL cac TBA\2017\T05.2017\[B02-31-05-2017.xls]5DN'!$N$17
- Phần mình bôi đậm là phần mình cần tìm kiếm và thay thế theo từng tháng, từng ngày trong tháng
 
Cái này nhìn quen quen. Hình như đã có ai hỏi cách đây vài tháng.
 
File bạn đưa lên không có những ngày của tháng 5 & 6; Chỉ có những ngày từ đầu tháng 7 trở đi:= Không cần tiến hành thay thế nữa;

Thêm nữa; trị các ngày (cả giờ) là kiểu số liệu, không là dữ liệu (text)

???
 
File bạn đưa lên không có những ngày của tháng 5 & 6; Chỉ có những ngày từ đầu tháng 7 trở đi:= Không cần tiến hành thay thế nữa;

Thêm nữa; trị các ngày (cả giờ) là kiểu số liệu, không là dữ liệu (text)

???

Tại cột A mình đã thay thế thành ngày giờ tháng 7 rồi bạn à. Còn giá trị tại các ô ví dụ như B12 trở đi, có giá trị được link từ đường dẫn : ='C:\Dropbox\THONG SO VAN HANH B02\TS-SL cac TBA\2017\T05.2017\[B02-01-05-2017.xls]5TM'!AO$21

Và chỗ mình bôi đậm chính là giá trị mình cần tìm kiếm và thay đổi để giá trị trả về đúng theo đường link file các tháng bạn à :(
 
Xin lỗi, rằng mình chưa hề thử trong việc tìm kiếm & thay thế trong file khác. nơi xa xôi nào đó. Mình tưởng chỉ thay trong toàn Wokbook như tiêu đề thôi.
Còn bạn nói "Còn giá trị tại các ô ví dụ như B12 trở đi, . . ." thì mình chỉ thấy toàn số liệu, không thể là số liệu về ngày-tháng. (Ở tất thẩy 4 trang tính luôn)

Tạm biệt!
 
Bạn kiếm lại bài của anh NDU hình như có bài sử dụng macro4 giải quyết được yêu cầu của bạn đó
 
Xin lỗi, rằng mình chưa hề thử trong việc tìm kiếm & thay thế trong file khác. nơi xa xôi nào đó. Mình tưởng chỉ thay trong toàn Wokbook như tiêu đề thôi.
Còn bạn nói "Còn giá trị tại các ô ví dụ như B12 trở đi, . . ." thì mình chỉ thấy toàn số liệu, không thể là số liệu về ngày-tháng. (Ở tất thẩy 4 trang tính luôn)

Tạm biệt!
Không phải bạn à, ý của mình là thế này :( (xin lỗi vì mình chưa giỏi diễn giải)
Ví dụ: giá trị tại ô B13 được trả về giá trị bởi công thức ='C:\Dropbox\THONG SO VAN HANH B02\TS-SL cac TBA\2017\T05.2017\[B02-01-05-2017.xls]5DN'!$N$13
Hiện tại mình dùng tìm kiếm và thay thế (Ctrl + H) để thay thế nội dung trong cái dòng công thức tại các ô , tức là tìm 2017\T05.2017\[B02-01-05-2017.xls] thay 2017\T07.2017\[B02-01-07-2017.xls] ; tiếp tục tìm 2017\T05.2017\[B02-02-05-2017.xls] thay 2017\T07.2017\[B02-02-07-2017.xls] ..v..v..

Nghĩa là sau khi tìm kiếm và thay thế thì cái công thức mới (cho tháng 7) tại các ô sẽ là ='C:\Dropbox\THONG SO VAN HANH B02\TS-SL cac TBA\2017\T07.2017\[B02-01-07-2017.xls]5DN'!$N$13 ; với giá trị 01-07-2017 thay đổi phù hợp với các ngày trong công thức cũ.
 
Web KT

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

Back
Top Bottom