我有一個excel電子表格,在執行郵件合併之前導出到臨時文件。
這是通過複製/粘貼achived如下:PasteSpecial(xlPasteValues)給出#VALUE
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); "")
嘗試'wb.Worksheets(1).Range( 「A1」)PasteSpecial的(xlPasteValuesAndNumberFormats)'? – PatricK
@PatricK現在我有;相同的結果... – Kentora
您的發現解釋了原因。導出的沒有命名的單元格「filnavn」。我會使用一個Long變量來存儲'.Calculation'的初始狀態並在最後恢復到它,因爲它有三種可能的狀態。將您的答案標記爲答案! – PatricK