删除单元格区域中的数据但保留公式
问题描述:
有没有办法删除单元格范围内的所有数据,但保留公式。我的示例文件是一个简单的计算,它将总结来自C2:C5的数字,然后将总和写入表格(“摘要”)。范围(“B2”)。单击该按钮后,它将删除范围为A2:C5中的数据,但单元格A2:C5中的公式也将被删除。删除单元格区域中的数据但保留公式
我的理想结果是范围内的公式(A2:C5)将保留。
mycode的:
Private Sub CommandButton1_Click()
Dim sum As Worksheet, ws As Worksheet
Dim c As Range
Set sum = Sheets("Summary"): Set ws = Sheets("Sheet1")
sum.Range("B" & sum.Range("B1000000").End(xlUp).Offset(1, 0).Row) = WorksheetFunction.sum(ws.Range("C2:C" & ws.Range("C100000").End(xlUp).Row))
'ws.Range("A2:C" & ws.Range("A1").SpecialCells(xlCellTypeLastCell).Row).ClearContents
For Each c In Sheet1.Range("A2:C9")
If Not c.HasFormula Then c.ClearContents
Next c
末次
答
你可以尝试像下面的代码:
Dim C As Range
For Each C In Sheet1.Range("A2:C5")
If Not C.HasFormula Then C.ClearContents
Next C
+0
@KurtMatthew而不是你最后一行的清晰内容 –
+0
嗨,我发布了它缺少的信息,我现在用我的第一个问题。真实情况是,范围A:B也有一个公式。我只想删除范围A:C中的所有文本,但它们的公式将保留。 –
在你的代码,只是不删除列**'C' **中的任何内容。然后在**'C' **列中的单元格中的公式中,添加**'IF' **条件以检查'A'和'B'列中相关行中是否有值。如果没有,只需将'C'列中的单元格中的值设置为无 – Zac
明白了我只是在我的代码中更改了某些内容。每当我点击按钮,它只会删除单元格A:B但不是C. –
嗨扎克,这对我的这样的例子有很大帮助,但是如果列A和B具有像= sumifs这样的公式。这是我真正想要解决的问题.. –