我有一个Excel工作簿(1),大约有9张工作簿,可以从第二个工作簿中提取和操作数据(2)。
从工作簿(2)中提取数据后,我需要能够将工作簿(1)中的公式替换为公式生成的结果值,然后从此处保存工作簿(1)结果。
有没有可以为我做这个的宏?
答案 0 :(得分:15)
在新工作簿上添加一些基本代码,例如:
Sub Value()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
ws.UsedRange.Value = ws.UsedRange.Value
Next
End Sub
答案 1 :(得分:-1)
对我来说似乎有用的是使用concatenate()
因此,例如,我引用其他工作表中的单元格的公式为:
=arrayformula(iferror(index('To Be Processed'!X:X,small(if($A$1='To Be
Processed'!$Y2,row('To Be Processed'!X:X)),row((2:2))),"")))
如果我改为公式:
=concatenate(arrayformula(iferror(index('To Be
Processed'!X:X,small(if($A$1='To Be Processed'!$Y2,row('To Be
Processed'!X:X)),row((2:2))),""))))
并将参考单元格的文本值放入我的第二张纸。
根据您填充表单的方式,这可能会有所帮助,也可能没有帮助 - 但我对VBA不太满意,这意味着我会手动执行更多操作:)