Excel 2003:双击单元格以更改另一个工作表中的另一个单元格的内容

所有我想要做的是弄清楚如何将一个工作表中的单元格更改为另一个单元格中的另一个时,双击。

在我的第二个工作表中,我设置了以下代码:

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

我的问题是改变一个单元格的代码是什么?

我想它会看起来像这样:

 Sheet1!CellA1!Value = Target.Value 

但显然这是不对的。 那么什么是对的?

如果您在VBA编辑器中查看Project Explorer,实际上有两个表名。 左边的名字是VBA中表单的名称,右边的​​名字是用户使用Excel时底部的表格条上给出的名字。 (默认情况下,它们都是“Sheet1”,可能会令人困惑。)

我觉得使用名字最简单; 它不需要说Worksheet(“无论”)。 如果这个名字没有改变,就使用它。

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

编辑:作为一个说明,更改左侧名称的唯一方法是确保“属性”窗口可见,单击工作表,然后重命名。 我发现最好的做法是立即重命名我的所有纸张,以避免Sheet1,Sheet2,Sheet3。 wsTotals,wsCoverForm和wsConfigForm可以使代码更具可读性。

另一个编辑:其他方法不工作的原因是因为它必须遵循这个结构:

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

这是我能做到这一点的唯一方法,现在我已经为我做了testing。 使用第一种方法不麻烦一点。

尝试

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

或者,让你想改变命名范围的单元格,然后使用

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