如何在VBA中的评估函数中添加分隔符?

时间:2019-07-17 12:39:35

标签: excel vba

我有一个代码,它从数据透视表中提取两列,合并并复制值,然后将合并的输出输出到另一个表范围中。唯一的问题是这些值被组合在一起而根本没有任何空格或分隔符。我想在值之间添加“-”。

无论尝试如何添加,我都尝试在范围之间添加“-”并得到“类型不匹配”错误。

我的尝试之一:

r = wsCopy.Evaluate("=A5:A" & DefCopyLastRow & "- " & "& B5:B" & DefCopyLastRow)

完整的原始代码:

Dim r

r = wsCopy.Evaluate("=A5:A" & DefCopyLastRow & "& B5:B" & DefCopyLastRow)
wsDest.Range("J" & DefDestLastRow).Resize(UBound(r, 1), 1).Value = r

输入:

enter image description here

输出:

enter image description here

1 个答案:

答案 0 :(得分:2)

您需要在公式字符串中加上引号和&符:

r = wsCopy.Evaluate("=A5:A" & DefCopyLastRow & "&"" - ""&B5:B" & DefCopyLastRow)