Excel - Một macro để sao chép / dán phạm vi đã chọn

Vấn đề

Tôi có một bản tóm tắt dữ liệu theo tháng trong một tờ và dữ liệu thô trong một tờ khác. Thay vì tạo nhiều bảng tính cho dữ liệu thô của tôi mỗi tháng, tôi muốn xóa sạch dữ liệu của tháng trước và thay thế bằng dữ liệu mới. Để làm điều này, tôi sẽ phải sao chép các công thức đã tạo ra bản tóm tắt vào một cột khác (cho tháng mới) và sau đó sao chép và dán giá trị của dữ liệu tóm tắt tháng hiện tại (vì vậy một khi dữ liệu thô nguồn đã thay đổi, nó sẽ không thay đổi giá trị ở đó).

Thí dụ

 ABCD tháng 1 Tháng 2 Tháng 3 1 5 6 7 

Tôi muốn kết quả cuối cùng của mình trông giống như (tức là sao chép từ A3: A6 và dán vào B3. Sau đó, tháng tới nó sẽ sao chép từ B3: B6 và dán vào C3, v.v.).

 ABCD Tháng 1 Tháng 2 Tháng 3 Tháng 1 1 5 5 6 6 7 7 

Tháng 1 và tháng 2 giống nhau tại thời điểm này vì việc sao chép và dán sẽ xảy ra trước khi dữ liệu thô mới được thay thế.

Hy vọng nó có ý nghĩa. Tôi có rất ít kiến ​​thức trong việc viết VB nhưng có thể quản lý để đọc và hiểu những cái đơn giản. Bất cứ ai có thể giúp tôi với một macro sẽ làm điều này tự động?

Dung dịch

Macro này sử dụng hộp đầu vào để hỏi tháng bạn đang cập nhật. Sử dụng các giá trị số thay vì gõ trong tháng. Ví dụ: Jan. = 1, Feb. = 2, Mar. = 3. Tôi giả sử bạn sẽ không muốn cập nhật tháng 1 nên macro sẽ thoát nếu 1 được nhập vào hộp đầu vào (trừ khi được cập nhật từ tháng 12 thì chúng ta có thể thay đổi nó).

Hi vọng điêu nay co ich.

 Sub Update_Month () Dim answer As Variant Dim jj = 3 answer = InputBox ("Bạn đang cập nhật tháng nào?" & VbCrLf & _ "Ex: Tháng 1 = 1, Tháng 2 = 2, Tháng 3 = 3, v.v.") Chọn Câu trả lời trường hợp Trường hợp 1 Thoát Sub Trường hợp 2 Cho j = 3 đến 6 Phạm vi ("B" & j) = Phạm vi ("A" & j) Tiếp theo j Trường hợp 3 Đối với j = 3 đến 6 Phạm vi ("C" & j) = Phạm vi ( "B" & j) Tiếp theo j Trường hợp 4 Cho j = 3 đến 6 Phạm vi ("D" & j) = Phạm vi ("C" & j) Tiếp theo j Trường hợp 5 Đối với j = 3 đến 6 Phạm vi ("E" & j ) = Phạm vi ("D" & j) Tiếp theo j Trường hợp 6 Đối với j = 3 đến 6 Phạm vi ("F" & j) = Phạm vi ("E" & j) Tiếp theo j Trường hợp 7 Đối với j = 3 đến 6 Phạm vi (" G "& j) = Phạm vi (" F "& j) Tiếp theo j Trường hợp 8 Đối với j = 3 đến 6 Phạm vi (" H "& j) = Phạm vi (" G "& j) Tiếp theo j Trường hợp 9 Đối với j = 3 Tới 6 Phạm vi ("I" & j) = Phạm vi ("H" & j) Tiếp theo j Trường hợp 10 Đối với j = 3 đến 6 Phạm vi ("J" & j) = Phạm vi ("I" & j) Tiếp theo j Trường hợp 11 Dành cho j = 3 đến 6 Phạm vi ("K" & j) = Phạm vi ("J" & j) Tiếp theo j Trường hợp 12 Với j = 3 đến 6 Phạm vi ("L" & j) = Phạm vi ("K" & j) Tiếp theo j Kết thúc Chọn Kết thúc phụ 

Lưu ý rằng

Cảm ơn WutUp WutUp cho mẹo này trên diễn đàn]

Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên