2010-07-08 32 views
0

我想要做的所有事情都是弄清楚如何在一個工作表中將單元格更改爲另一個工作表單元格中的單元格時,雙擊該單元格中的單元格。Excel 2003:雙擊一個單元格以更改另一個工作表中的另一個單元格的內容

在我的第二個工作表,我有以下代碼設置:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 



End Sub 

我的問題是什麼來改變細胞的代碼?

我想象它會是這個樣子:

Sheet1!CellA1!Value = Target.Value 

但顯然這是不正確的。那麼什麼是對的?

回答

2

如果您在Project Explorer在VBA編輯器的外觀,其實有兩個表名。左側的名稱是VBA中的工作表的名稱,右側的名稱是用戶使用Excel時底部的選項卡上的名稱。 (默認情況下,它們都是「Sheet1」,可能會造成混淆。)

我覺得使用名字最簡單;它不需要說Worksheet(「無論」)。如果名稱沒有改變,就使用它。

Sheet1.Range("A1").Value = Target.Value 

編輯:作爲一個說明,要改變左邊的名稱的唯一方法是確保「屬性」窗口可見,請單擊工作表上,然後重命名。我發現最好的做法是立即重命名我的所有紙張,以避免Sheet1,Sheet2,Sheet3。 wsTotals,wsCoverForm和wsConfigForm可以使代碼更具可讀性。

另一個編輯:另一種方法是不工作的原因是因爲它必須遵循這種結構:

ActiveWorkbook.Worksheets("Sheet1").Range("A1").Value = Target.Value 

這是我能得到它的工作的唯一辦法,我已經有兩個工作對我來說剛剛測試它。使用第一種方法不麻煩。

+0

完美!謝謝 – Jeff 2010-07-09 11:27:48

1

嘗試

Worksheet("Sheet1").Range("A1").Value = Target.Value 

或者,讓你想改變一個命名範圍的單元格,只使用

Range("MyName").Value = Target.Value 
+0

嗯...當我嘗試工作表(「Sheet1」)...我得到「子或功能未定義」。當我用第二個代碼嘗試使用命名範圍時,它會引發1004錯誤:對象'_Worksheet'的方法'範圍'失敗 – Jeff 2010-07-08 17:40:28

+0

我想指出如果範圍(「MyName」)在同一個工作表上,但是當我嘗試從不同的人那裏做出時會失敗 – Jeff 2010-07-08 18:02:58

相關問題