Tôi đang cố gắng chạy một macro duy nhất thực hiện các chức năng trên nhiều trang tính. Giả sử tôi đã gán nút macro trên trang tính 4. Tôi đã liệt kê các hàm tôi muốn thực hiện từng bước:VBA Macro trên nhiều trang tính
1) Chọn một số ô trong trang tính 4 và sao chép vào ô liền kề trong trang tính 4.
2) Xóa phạm vi ô trong trang tính 3.
3) Dải ô CUT trong trang tính 2 sau đó dán dải ô này vào trang tính 3.
4) Lấy phạm vi ô từ sổ làm việc riêng và sao chép vào trang tính 2. (I biết đây là vấn đề hoàn toàn khác vì sổ làm việc được tự động xuất bản và tôi sẽ phải tìm cách liên kết hai.)
5) Cập nhật bảng tổng hợp nằm trong Bảng tính 4 và Trang tính 3.
Tôi rất muốn được trợ giúp về 3 chức năng đầu tiên trong số này. Tôi đã dán mã hiện tại của mình bên dưới.
Sub START()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim sh3 As Worksheet
Dim sh4 As Worksheet
Set sh1 = ActiveWorkbook.Sheets("Brand")
Set sh2 = ActiveWorkbook.Sheets("CurrentWeek")
Set sh3 = ActiveWorkbook.Sheets("PriorWeek")
Set sh4 = ActiveWorkbook.Sheets("Pivot")
sh4.Range("B29:B30").Select
Selection.Copy
sh4.Range("C29").Select
ActiveSheet.Paste
sh3.Range("A4:AC1000").Select
Selection.Delete
sh2.Range("A4:AC1000").Select
Selection.Copy
sh3.Range("A4").Select
ActiveSheet.Paste
End Sub
Nó hoạt động ... nhưng nó chỉ hoạt động khi tôi ở đúng trang tính để thực hiện một chức năng cụ thể.
Thay vì các tên biến không đọc được như 'sh1',' sh2' v.v ... tại sao không gọi chúng là cái gì hữu ích và minh bạch như 'shtBrand',' shtCurrentWeek' v.v. Một người làm việc thực hiện chính xác công việc kinh doanh 'sh1' 'sh2' này và nó khiến mọi người trở nên điên rồ khi chúng tôi cố đọc mã của anh ấy. –
@ Jean-FrançoisCorbett Vâng, đó thực sự là một ý tưởng hay. Lý do tôi không làm điều này lúc đầu là bởi vì trong kinh doanh của tôi, không ai biết cách viết mã. Nhiệm vụ này tôi đang cố gắng để tự động hóa đã được thực hiện bằng tay trong khoảng 2-3 năm. Đó là vô lý, nhưng đó là một ý tưởng tuyệt vời! Cảm ơn bạn. – kmiao91