VBA代码仅清除目标工作表上的常量

VBA代码仅清除目标工作表上的常量,vba,excel,Vba,Excel,我已将SalesMasterSheet中的累积销售额过滤到不同的表格,每个表格都以每个特定客户的名字命名,但我在尝试添加excel公式时遇到了困难,因为我的VBA代码总是清除sheetActive上单元格范围的内容 我尝试了特殊的单元格方法,以便只清除常量,但它不起作用 任何帮助都将不胜感激。 下面是我的代码: Private Sub Worksheet_activate() Dim i, LastRow LastRow = Sheets("MasterSheet").Range("A" &am

我已将SalesMasterSheet中的累积销售额过滤到不同的表格,每个表格都以每个特定客户的名字命名,但我在尝试添加excel公式时遇到了困难,因为我的VBA代码总是清除sheetActive上单元格范围的内容

我尝试了特殊的单元格方法,以便只清除常量,但它不起作用

任何帮助都将不胜感激。 下面是我的代码:

Private Sub Worksheet_activate()
Dim i, LastRow
LastRow = Sheets("MasterSheet").Range("A" & Rows.Count).End(xlUp).Row

Sheets("ACCIMA").Range("A1:L500").ClearContents

For i = 2 To LastRow
    If Sheets("MasterSheet").Cells(i, "C").Value = "ACCIMA" Then
       Sheets("MasterSheet").Cells(i, "C").EntireRow.Copy _ 
              Destination:=Sheets("ACCIMA").Range("A" & Rows.Count).End(xlUp).Offset(1)
    End If
Next i

End Sub
到目前为止,它所做的是将C列上带有“ACCIMA”的条目从母版纸复制到另一张纸(“ACCIMA”),但我想在这张纸(“ACCIMA”)中加入一个公式,因为
Sheets(“ACCIMA”)。范围(“A1:L500”)。ClearContent

一旦我激活工作表,所有公式都会被清除。

鉴于您提供的信息量很低,我可以这样理解您的问题:

如果代码总是清除活动工作表上单元格区域的内容,则应尝试在代码中添加正在处理的工作表,例如:

 cells(1,1).value = "test"
会变成

worksheets("customer1").cells(1,1).value = "test"

新信息发布后:

复制范围“A1:K500”的内容,忽略包含公式的列“L”,然后在列“L”中添加公式

请记住,与实际excel工作表上的synatx相比,公式的语法会发生更改。 e、 g:

 =IF(A1="empty";"empty";"not empty")
将变成:

worksheets("customer1").cells(1,1).formula = "=IF(A1=""empty"",""empty"",""not empty"")"

请分享您的代码和一些示例数据/向我们展示您的数据布局。我们看不到你的屏幕。我已共享了我的代码,谢谢。我真的不确定你想要什么。无法确定单元格值在VBA中是否为“常量”。你把公式放在哪里?第一排?如果是这样,您可以将
Sheets(“ACCIMA”).Range(“A1:L500”).ClearContents
更改为
Sheets(“ACCIMA”).Range(“A2:L500”).ClearContents
。无论哪种方式,您都需要正确地定义您要做的事情。我想要列L上的公式。但即使我将代码从Sheets(“ACCIMA”).Range(“A1:L500”).ClearContents更改为Sheets(“ACCIMA”).Range(“A1:K500”).ClearContents它也会清除列L上的公式,我想这可能是因为行Sheets(“MasterSheet”).Cells(i,“C”).EntireRow.Copy尝试复制整行。请问我该如何解决这个问题。我该如何在这行代码表(“母版”)上替换一个范围而不是entireRow。单元格(i,“C”)。entireRow。复制“为什么不复制单元格,除了列“L”,然后将列“L”硬编码为公式?我会编辑我的帖子给你看。
worksheets("customer1").cells(1,1).formula = "=IF(A1=""empty"",""empty"",""not empty"")"