无法将以引号开头的值赋给excel vba中的另一个单元格

无法将以引号开头的值赋给excel vba中的另一个单元格,vba,excel-2007,quote,Vba,Excel 2007,Quote,我有一个Excel表格,其中一个单元格由web查询填充。该单元格的内容以单引号(“)开头。该单元格具有文本编号格式 当我使用VBA将此单元格的内容分配给另一个单元格时,引号将被删除,但我不希望发生这种情况 如何获得单元格的准确副本,即未删除报价 我使用: Dim lSourceRange as Range Dim lTargetRange as Range set lSourceRange = Cells(1,1) set lTargetRange = Cells(2,2) lTargetR

我有一个Excel表格,其中一个单元格由web查询填充。该单元格的内容以单引号(
)开头。该单元格具有文本编号格式

当我使用VBA将此单元格的内容分配给另一个单元格时,引号将被删除,但我不希望发生这种情况

如何获得单元格的准确副本,即未删除报价

我使用:

Dim lSourceRange as Range
Dim lTargetRange as Range

set lSourceRange = Cells(1,1)
set lTargetRange = Cells(2,2)

lTargetRange.numberformat = '@'
lTargetRange.value2 = lSourceRange.Value2
我也试过了

lTargetRange.value2 = lSourceRange.text
lTargetRange.value2 = lSourceRange.Value

lTargetRange.value = lSourceRange.text
lTargetRange.value = lSourceRange.Value
始终删除初始报价。(价值/价值2/文本)
lSourceRange
的s-Hertogenbosch
,在调试器中被视为
“'s-Hertogenbosch”

我知道引用是为了向Excel表明我想使用文本,但是我需要引用作为值的一部分(以及在工作表中的显示)

试试这个

lTargetRange.value = "'" & lSourceRange.Value
还是用这个

lSourceRange.Copy lTargetRange

这(第一个解决方案)确实显示了一个引号,但现在在公式栏中选择单元格时,显示的值有两个单引号。选择源单元格(引号在其中可见),然后在公式栏中也可以看到单个引号。使用copy的第二个解决方案似乎可以完成这项工作。我在使用application.ScreenUpdate=false隐藏结果时遇到了一些问题,这并没有隐藏所有内容,但您的声明在这方面也起作用。谢谢@siddGlad,问题解决了。顺便说一句,两种方法都有效。我有点惊讶为什么你在第一种方法中看到两个双引号。