2017-05-27 56 views
0

在excel中創建一張表格,當需要新信息時,我將簡單地將工作表的副本創建到一個新選項卡中。但是我有一個代碼,讓我來清除某些細胞或擦除他們進入的數據,這是不言而喻的:創建包含代碼問題的excell表的副本。

Sub Clear_Cells() 

Range("B5").ClearContents 
Range("C5").ClearContents 
Range("D5").ClearContents 
Range("E5").ClearContents 
Range("F5").ClearContents 
Range("B8").ClearContents 
Range("C8").ClearContents 
Range("E8").ClearContents 
Range("C9").ClearContents 
Range("C13").ClearContents 
Range("C14").ClearContents 
Range("D13").ClearContents 
Range("D14").ClearContents 
Range("E15").ClearContents 
Range("B18").ClearContents 
Range("C18").ClearContents 
Range("D18").ClearContents 
Range("E18").ClearContents 
Range("F18").ClearContents 
End Sub 

問題是,當我創建一個新的頁面,並試圖清除細胞中該網頁時始終清除原始頁面的單元格。我知道它必須是簡單的東西,但不能把它放在手指上。

+0

您需要對試圖清除值的工作表進行引用。 –

+0

使用'Sheets(「NewSheet」)。選擇'或'Worksheets(「NewSheet」)。激活'執行清除任務之前。 – lkdhruw

+0

假設您的新工作表名稱是「Sheet4」,所以清除其內容的正確引用應該是'Sheets(「Sheet4」)。Range(「B5」)。ClearContents' –

回答

0

我會重新寫你這樣的代碼:

Sub Clear_Cells() 
Dim sht As Worksheet 
Dim rng As Range 

    Set sht = ThisWorkbook.Worksheets("Sheet_Name") 
    Set rng = sht.Range("B5,C6,D8,F18")  'add whatever cells you need to clear 

    rng.ClearContents 
End Sub 

其中「SHEET_NAME」是要清除細胞表的名稱。

+0

想要我想要的是空白電子表格的主副本,那麼用戶可以創建主工作表的副本並填寫信息。然後用戶需要複製副本以創建新的工作表。我需要這種方式,因爲我希望所有新的工作表標籤位於左側。因此,當他們創建副本時,我需要他們單擊按鈕以刪除以前的信息,以便他們可以輸入新的數據。 – accrewchief