Mình cũng đoán chừng thôi, nếu Macro có các đoạn gắn liền với Sheet1 thì đổi thành activeSheet thì Macro sẽ tác động vào Sheet đang mở bất kỳ. Còn nếu chỉ trong 1 số sheet nhất định bạn phải khai báo 1 biến Public lưu sh sau đó kiểm tra nếu đúng sh cần làm thì gán Set sh = sh đó . Thay toàn bộ các đoạn liên quan tới sheet1 thành sh là OK. Mình diễn giải kém lắm, giá có file mẫu thì mình sẽ viết vào đó dễ hơn.