2012-12-12 29 views
18

Tôi có một hàng trong đó có các công thức sử dụng các giá trị của cùng một hàng. Hàng tiếp theo trống, chỉ với màu nền khác.Sao chép công thức sang hàng kế tiếp khi chèn một hàng mới

Bây giờ, nếu tôi chèn một hàng mới (bằng cách nhấp chuột phải vào hàng trống và "chèn"), tôi nhận được hàng mới với màu nền KHÔNG (đó là những gì tôi muốn), nhưng dòng này cũng KHÔNG chứa bất kỳ công thức nào: làm cách nào để Excel trở nên thông minh hơn và sao chép các công thức từ hàng trước đó, khi tạo hàng mới?

Một phần thông tin khác: thông tin xác thực dữ liệu (ví dụ: danh sách thả xuống) được sao chép khi chèn hàng mới.

Cảm ơn.

+0

Tôi có thể sử dụng VBA bằng cách nào? Tôi có thể kích hoạt macro khi chèn một hàng không? – Manu

+0

Một phần thông tin khác: thông tin xác thực dữ liệu (tức là danh sách thả xuống) được sao chép khi chèn hàng mới. – Manu

Trả lời

21

Hãy khu vực với dữ liệu của bạn và công thức một Bảng:

enter image description here

Sau đó, thêm các thông tin mới trong dòng tiếp theo sẽ sao chép tất cả các công thức trong bảng đó cho dòng sản phẩm mới. Việc xác thực dữ liệu cũng sẽ được áp dụng cho hàng mới như đối với toàn bộ cột. Điều này thực sự Excel là thông minh hơn với dữ liệu của bạn.

cần NO VBA ...

+3

(1/2) Chỉ cần lưu ý, Excel sẽ thêm tiêu đề lọc và hàng có dải trên bảng. Ngoài ra, tốt hơn là không nên chọn các tiêu đề * thực tế * của bạn và bỏ chọn "Bảng của tôi có tiêu đề". Excel sẽ thêm tiêu đề chung, nhưng trong tab Bảng, bạn có thể loại bỏ hàng tiêu đề này. Trong khi bạn đang ở đó, bạn cũng có thể vô hiệu hóa các hàng có dải. – ADTC

+3

(2/2) Khi hàng tiêu đề bị xóa, một hàng trống sẽ được để nguyên vị trí của nó. Việc xóa hàng trống theo bất kỳ cách nào sẽ dẫn đến lỗi "công thức không nhất quán", mặc dù các công thức nhất quán. Chỉ cần chỉnh sửa công thức và áp dụng lại công thức - Excel thậm chí sẽ cung cấp công thức cập nhật cho toàn bộ cột. Hoặc bạn có thể chọn Lỗi bỏ qua. – ADTC

+0

PS: Một vấn đề với giải pháp này là các ô đã hợp nhất sẽ không hợp nhất và bạn không thể hợp nhất chúng bằng tính năng Hợp nhất ô (sẽ bị tắt khi bạn ở trong bảng). Tôi đoán bạn chỉ cần học cách sống với điều đó (hoặc mở rộng chiều rộng cột, nếu bạn có thể). – ADTC

1

Bạn cần chèn hàng mới và sau đó sao chép từ hàng nguồn sang hàng mới được chèn. Excel cho phép bạn dán các công thức đặc biệt. Vì vậy, trong Excel:

  • Chèn hàng mới
  • Sao chép nguồn hàng
  • Chọn hàng mục tiêu mới được tạo ra, nhấp chuột phải và dán đặc biệt
  • Paste như công thức

VBA nếu bắt buộc với Hàng ("1: 1") là nguồn và Hàng ("2: 2") là mục tiêu:

Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
Rows("2:2").Clear 

Rows("1:1").Copy 
Rows("2:2").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone 
+0

Tôi không muốn sao chép công thức theo cách thủ công. Là có một cách? – Manu

+0

Một phần thông tin khác: thông tin xác thực dữ liệu (ví dụ: danh sách thả xuống) được sao chép khi chèn hàng mới. Không được sao chép – Manu

+0

xác thực dữ liệu khi bạn chèn hàng mới. Miễn là bạn không sao chép và sau đó chèn hàng nguồn. Bạn cần chèn một hàng, sau đó sao chép nguồn và dán các công thức đặc biệt vào mục tiêu như được mô tả ở trên. – InContext

2

Một điều quan trọng khác mà tôi tìm thấy liên quan đến hàng sao chép trong một bảng, đó là bảng tính bạn đang làm việc trên cần phải được kích hoạt. Nếu bạn có sổ làm việc với nhiều trang tính, bạn cần phải lưu trang tính mà bạn đã gọi là macro, sau đó kích hoạt trang tính bằng bảng. Khi bạn đã hoàn tất, bạn có thể kích hoạt lại trang tính gốc.

Bạn có thể sử dụng Application.ScreenUpdating = False để đảm bảo người dùng không thấy rằng bạn đang chuyển đổi trang tính trong macro của bạn.

Nếu bạn không kích hoạt trang tính, bản sao có vẻ không hoạt động đúng cách, tức là một số nội dung có vẻ hoạt động và các nội dung khác không ??

0

Nếu bạn có một trang tính có nhiều hàng chứa công thức, thì phương pháp dễ nhất là sao chép hàng không có dữ liệu (nhưng nó chứa công thức) và sau đó "chèn ô được sao chép" bên dưới/phía trên hàng mà bạn muốn thêm vào. Các công thức vẫn còn. Trong một pinch, nó là OK để sử dụng một hàng với dữ liệu. Chỉ cần xóa nó hoặc ghi đè lên nó sau khi dán.

Các vấn đề liên quan