tedaynui đã viết:Tuỳ biến này ai biết chỉ giúp nhé.
Nếu trên Sheet thì bình thường. Nếu trên WorkBook thì bạn dùng lệnh Find/Replace kết hợp với
For Each mySheet In WorkSheets
....... Find/Replace...
...
Next mySheet
TDN
loi.havan đã viết:Cảm ơn bạn đã chỉ giáo, nhưng vấn đề mình hỏi là cách thay đổi tùy biến Within (Sheet hay Workbook), cách của bạn không giải quyết được. Mình ví dụ nhé, nếu có một ai đó sử dụng Excel trước mình mà sử dụng lệnh Find/Replace trong cả Workbook, sau đó mình dùng VBA mà muốn dùng lệnh Find/Replace chỉ trong Sheet thôi thì nó vẫn cứ tìm trong cả Workbook, thế là kết quả sẽ sai hết mặc dù mình đã Active cái Sheet cần tìm.
Cao thủ nào biết chỉ giáo cho nhé, Thanks.
For Each mySheet In WorkSheets
if MySheet.name <> ActiveSheet.Name then exit For
.......Find/Replace...
...
Next
Bạn đọc kỹ xem, mình nói nếu dùng trên 1 sheet thì dùng bình thường, tức là bạn không cần cho Find/Replace vào vòng lặp For Each.... Còn muốn tác dụng trên WorkBook thì cho Find/Replace vào vòng lặp For Each...loi.havan đã viết:Cảm ơn bạn đã chỉ giáo, nhưng vấn đề mình hỏi là cách thay đổi tùy biến Within (Sheet hay Workbook), cách của bạn không giải quyết được. Mình ví dụ nhé, nếu có một ai đó sử dụng Excel trước mình mà sử dụng lệnh Find/Replace trong cả Workbook, sau đó mình dùng VBA mà muốn dùng lệnh Find/Replace chỉ trong Sheet thôi thì nó vẫn cứ tìm trong cả Workbook, thế là kết quả sẽ sai hết mặc dù mình đã Active cái Sheet cần tìm.
Cao thủ nào biết chỉ giáo cho nhé, Thanks.
[COLOR=#000000][COLOR=#007700]If [/COLOR][COLOR=Blue]ActiveSheet[/COLOR][COLOR=Blue].[/COLOR][COLOR=#0000bb]Name [/COLOR][COLOR=#007700]= [COLOR=#0000bb]"ABC"[/COLOR][/COLOR][COLOR=#0000bb] then [/COLOR]
[/COLOR][COLOR=#000000][COLOR=White].......[/COLOR][COLOR=#0000bb]Find[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000bb]Replace[/COLOR][COLOR=#007700]...
[/COLOR][/COLOR][COLOR=#000000][COLOR=#007700][COLOR=White].......[/COLOR].......[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#007700]Else
[COLOR=White]...[/COLOR][/COLOR][COLOR=#0000bb]For Each mySheet In WorkSheets
[/COLOR][COLOR=#007700][COLOR=White].......[/COLOR][/COLOR][COLOR=#0000bb]Find[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000bb]Replace[/COLOR][COLOR=#007700]...
[COLOR=White].......[/COLOR].......
[/COLOR][COLOR=#0000bb][COLOR=White]...[/COLOR]Next
[COLOR=SeaGreen]End if[/COLOR] [/COLOR][/COLOR]
tedaynui đã viết:Bạn đọc kỹ xem, mình nói nếu dùng trên 1 sheet thì dùng bình thường, tức là bạn không cần cho Find/Replace vào vòng lặp For Each.... Còn muốn tác dụng trên WorkBook thì cho Find/Replace vào vòng lặp For Each...
Bạn có thể làm theo cách của Mr.Hiếu hoặc
TDNMã:[COLOR=#000000][COLOR=#007700]If [/COLOR][COLOR=blue]ActiveSheet[/COLOR][COLOR=blue].[/COLOR][COLOR=#0000bb]Name [/COLOR][COLOR=#007700]= [COLOR=#0000bb]"ABC"[/COLOR][/COLOR][COLOR=#0000bb] then [/COLOR] [/COLOR][COLOR=#000000][COLOR=white].......[/COLOR][COLOR=#0000bb]Find[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000bb]Replace[/COLOR][COLOR=#007700]... [/COLOR][/COLOR][COLOR=#000000][COLOR=#007700][COLOR=white].......[/COLOR].......[/COLOR][/COLOR] [COLOR=#000000][COLOR=#007700]Else [COLOR=white]...[/COLOR][/COLOR][COLOR=#0000bb]For Each mySheet In WorkSheets [/COLOR][COLOR=#007700][COLOR=white].......[/COLOR][/COLOR][COLOR=#0000bb]Find[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000bb]Replace[/COLOR][COLOR=#007700]... [COLOR=white].......[/COLOR]....... [/COLOR][COLOR=#0000bb][COLOR=white]...[/COLOR]Next [COLOR=seagreen]End if[/COLOR] [/COLOR][/COLOR]