2012-12-12 88 views
18

當我有一個行,其中有使用相同的行的值公式複製式到下一行。 下一行是空的,只是具有不同的背景顏色。現在,如果我插入一個新行(通過右鍵單擊空行並「插入」),我得到一個沒有背景顏色(這是我想要的)的新行,但行也不是包含任何公式:在創建新行時,如何讓Excel變得更智能並複製上一行中的公式?插入新行

一個更一條信息:在插入新行當數據驗證信息(即,下拉列表)被複制。

謝謝。

+0

如何使用VBA?插入一行時可以激活宏嗎? – Manu

+0

另一條信息:插入新行時複製數據驗證信息(即下拉列表)。 – Manu

回答

21

使該地區與您的數據和公式表格:

enter image description here

然後加入下一行新的信息將複製所有公式,而表中的新行。數據驗證也將應用於新行,與整列一樣。這確實是Excel更聰明的數據。

不需要VBA ...

+3

(1/2)請注意,Excel將在表格中添加過濾標題和帶狀行。另外,最好不要選擇* actual *標題,並取消選中「我的表具有標題」。 Excel將添加通用標題,但在「表格」選項卡中,您可以刪除此標題行。當你在它的時候,你也可以禁用帶狀的行。 – ADTC

+3

(2/2)一旦標題行被刪除,一個空白行將留在它的位置。即使公式一致,以任何方式刪除空行都會導致「不一致公式」錯誤。只需編輯公式並重新應用它 - Excel甚至可以保持公式爲最新的整列。或者您可以選擇忽略錯誤。 – ADTC

+0

PS:此解決方案的一個問題是合併的單元格將取消合併,並且無法使用「合併單元格」功能(它將在表格中禁用時)合併它們。我想你只需要學會如何生活(或者如果可以的話,擴大欄寬)。 – ADTC

1

你需要插入新行,然後從源行復制到新插入的行。 Excel允許您粘貼特殊的公式。因此,在Excel中:

  • 插入新行
  • 複製源行
  • 選擇新創建的目標行,右鍵單擊並粘貼特殊
  • 粘貼爲口訣

VBA如果以行(「1:1」)爲源且行(「2:2」)爲目標時需要:

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

我不想手動執行公式的副本。有沒有辦法? – Manu

+0

另一條信息:插入新行時複製數據驗證信息(即下拉列表)。當您插入新行時,不應複製數據驗證 – Manu

+0

。只要你不復制然後插入源代碼行。您需要插入一行,然後複製源代碼並將特殊公式粘貼到目標中,如上​​所述。 – InContext

2

另外一個關鍵的事情,我發現就在表內複製行,是你在需要工作的工作表被激活。 如果你有多個工作表的工作簿時,您需要保存你叫從宏觀的表,然後激活與臺上的板材。 完成後,您可以重新激活原始工作表。

您可以使用Application.ScreenUpdating = False,以確保用戶不會看到你的宏內切換工作表。

如果你沒有工作表激活,複製似乎沒有正常工作,即一些東西似乎工作,和其他的東西沒有?

0

如果您有一個包含許多行的工作表都包含公式,那麼最簡單的方法是複製一個沒有數據的行(但它包含公式),然後在下面/上面「插入複製的單元格」你想添加的行。公式依然存在。在捏,可以使用數據行。只需清除它或粘貼後覆蓋它。