2012-02-05 36 views
6

Tôi muốn sao chép toàn bộ nội dung của hàng và định dạng sang một trang tính khác.Sao chép nội dung và định dạng hàng (sang trang tính khác)

Hiện tại tôi đã phải giải quyết để đặt nội dung ô cũ thành nội dung ô mới và khi làm như vậy nó chỉ sao chép nội dung chứ không sao chép định dạng. (Tế bào của tôi có màu sắc khác nhau mà cần phải được thực hiện qua)

Tại thời điểm tôi đã điều sau đây: (điều này hoạt động tốt cho các tế bào trong cùng một trang)

Range(Cells(45, 2), Cells(45, 3)).Copy Range(Cells(50, 2), Cells(50, 3)) 

Tuy nhiên, tôi đang cố gắng để làm điều đó từ trang tính này sang trang tính khác. (Sao chép từ trang tính 'Front_Page' sang 'vg'). Tôi đã thử bằng cách sử dụng sau đây, rõ ràng là nó không hoạt động, nhưng ai đó có thể vui lòng cho tôi biết tôi đang làm gì sai?

Range.Worksheet("Front_Page").Range(Cells(45, 2), Cells(45, 3)).Copy Worksheet("vg").Range(Cells(50, 2), Cells(50, 3)) 

Trả lời

0

Cells là các ô của trang tính hiện hoạt. Vì vậy bạn nhận được lỗi: vg không phải là trang tính đang hoạt động. Chỉ định các ô của trang tính khác làm tham số cho đối tượng Range luôn dẫn đến lỗi. Điều này sẽ làm việc:

Worksheets("Front_Page").Range(Worksheets("Front_Page").Cells(45, 2), Worksheets("Front_Page").Cells(45, 3)).Copy Worksheets("vg").Range(Worksheets("vg").Cells(50, 2), Worksheets("vg").Cells(50, 3)) 

Tuy nhiên, nó có thể được tối ưu hóa để chỉ:

Worksheets("Front_Page").Range("B45:C45").Copy Worksheets("vg").Range("B50:C50") 

Ngoài ra, thông báo rằng Worksheet("vg") không hoạt động, nó nên được thay thế với Worksheets("vg") khác nó sẽ gây ra cũng vậy.

Để sao chép toàn bộ hàng, sử dụng:

Worksheets("Front_Page").Rows("45:45").Copy Worksheets("vg").Rows("50:50") 
+0

Bạn cũng có thể sử dụng Trang tính ("sheetName"). – peege

1

Hình như bạn cố gắng để sao chép tế bào từ "Front_Pages" thành "vg" kể từ khi bạn sử dụng "tế bào" bên trong "phạm vi"

Range (tế bào ...).

Nếu có, bạn chỉ cần thay đổi định dạng ô là phạm vi chung excel; hãy thử mã này:

Sheets("vg").Range("B5") = Sheets("Front_Pages").Range("B4") 
Sheets("vg").Range("C5") = Sheets("Front_Pages").Range("C4") 
Các vấn đề liên quan