2012-05-18 56 views
0

更新: 如果我將範圍從A2:P29定義爲input_range。然後如果在第30行輸入,那麼它工作。但是,Input_range不會自動擴展,我想將整行向下移動,而不僅僅是範圍中的最後一行。我怎麼能做到這兩件事?爲什麼不能在Worksheet_Change()事件中運行代碼?

Previous question

與亞洲時報Siddharth潰敗的幫助下開始,我能夠做出新的Excel文件,這項工作。然而,不管我在這個文件上試過什麼,

Sample Excel File - 它只是不起作用。我想有一種結構可以防止自動添加行。如果是這樣,我怎麼能夠使代碼工作?

回答

2

當您檢測到Worksheet_Change()事件時,您需要將代碼放在工作表對象中,而不是模塊中。

這裏是如何做到這一點:

  1. 的Alt-F11打開VBA編輯
  2. 複製Worksheet_Change()子從模塊1
  3. 在Sheet6雙擊(itemmaster)
  4. 粘貼在那裏的代碼

確保您在編輯器頂部的兩個下拉菜單中看到工作表和更改。

注意:您應始終將Option Explicit打開以要求變量聲明。閱讀這個答案,看看如何做到這一點:https://stackoverflow.com/a/10653204/138938

Screen-shot of code in worksheet instead of module

+0

我做的代碼複製到Sheet6(itemmaster),但沒有奏效。 – NCC

+1

你可以上傳新文件嗎?我會讓你知道哪裏出了問題。 –

+1

您是否按照我的答案中的步驟操作?因爲您發佈的文件在module1中有代碼,而不在代碼頁6的代碼中。 –

相關問題