需要debugging清除列的内容的VBA代码

我写了一个简单的macros来清除A列的内容。我的电子表格有三个名为“input屏幕”,“build议数据库”和“排名”的表。 当我在“build议数据库”屏幕macros观工作正常。 不过,macros从其他屏幕运行时(即使代码没有错误),macros也不能工作。 为什么是这样? 任何帮助将非常感激! 代码如下:

Sub Clear_Contents_Column_A() With Worksheets("Proposal Database") Range("A3", Range("A3").End(xlDown)).ClearContents End With End Sub 

谢谢,

奥利

你需要使用. Range之前。 它将指定该Range属于某个Worksheet

 Sub Clear_Contents_Column_A() With Worksheets("Proposal Database") .Range("A3", .Range("A3").End(xlDown)).ClearContents End With End Sub 

你的问题可以用不同的方式阅读。 我怀疑@simoco提供了您正在寻找的答案,但是如果您问如何使用macros来清除其他工作表中的列A,则需要更改macros中的工作表名称。 您正在指示macros在Sheet(“Proposal Database”)上运行。 除非您更改工作表的名称,否则无法在其他工作表上运行。 你可以改变

  With Worksheets("Proposal Database") 

  With ActiveSheet 

如果您希望macros从工作簿中的任何工作表运行。