在执行邮件合并之前,我有一个导出到临时文件的 Excel 电子表格。
这是通过复制/粘贴来实现的,如下所示:
Dim current As Workbook
Set current = ActiveWorkbook
Dim wb As Workbook
Set wb = Workbooks.Add
current.Sheets("Input").UsedRange.Copy
' Only paste values, since posting formulas would give #REFERENCE errors
wb.Worksheets(1).name = "Input"
wb.Worksheets(1).Range("A1").PasteSpecial (xlPasteValues)
但是,在一列中我得到#VALUE!在所有单元格中(标题除外)。这些字符串比我复制的任何其他字符串都长,大约有 170-190 个字符
编辑
深入研究这个问题,我偶然发现了一些有趣的东西。当在另一个电子表格中四处寻找时,同时打开一个正在导出的电子表格,会导致值发生变化。
这些单元格的值是文档的位置,以及一些细节。我认为这可能导致#VALUE!错误 - 因为导出会打开一个没有位置的新工作簿。如果此时要计算公式,我认为它可能会给出#VALUE!错误。
这是公式:
=IF($A3<>"";CHAR(34) & SUBSTITUTE(LEFT(CELL("filnavn"); FIND("[";CELL("filnavn")) - 1) & "Images\" & INDIRECT("'" &VLOOKUP($G3;'Item Information'!$A$2:$C$249;3;FALSE) & "'!F2") & ".png"; "\"; "/") & CHAR(34); "")