【发布时间】:2018-05-30 06:25:19
【问题描述】:
我有两个工作表:Sheet1 和 Sheet2。 Sheet1 有原始数据(没有任何公式),Sheet2 在某些单元格中有公式。是否可以在不从 Sheet2 中删除公式的情况下将值从 Sheet1 复制到 Sheet2?
我正在使用以下代码将值从 sheet1 复制到 sheet2。复制值后,Sheet2 中的公式将被删除。
i = 2
With Sheets(1)
'loop column A
For Each Cell In .Range("A2:A" & .Cells(.Rows.Count, "A").End(xlUp).Row)
.Rows(Cell.Row).Copy Destination:=Sheets(2).Range("A" & i)
i = i + 1
Next Cell
End With
【问题讨论】:
-
公式应该不是问题。覆盖似乎是个问题。如果您不想用公式覆盖单元格,请添加一个测试,表明正在写入的单元格没有带有 HasFormula 或 Left(cell.value,1) = "=" 的公式
-
您还复制了一整行,所以您是否希望测试目标行中的任何单元格是否有公式?
-
Sheet2 总是空的,只包含一堆公式。它应该像计算器一样工作。它获取输入并产生输出,然后为新的值集进行清理。我希望公式留在那里。但是代码删除了公式。
-
1) 工作表 2 因此不是空的(很抱歉是迂腐的)2) 为什么不简单地选择输出到没有公式的不同范围?
-
1) 抱歉,我的意思是其中没有值,只有公式。 2)如果它跳到某个随机的地方,它看起来就不是很专业。 ;-) 我希望一切都到位。但如果没有办法……我应该接受你的建议。