我有一个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

关于vba - 无法为Excel VBA中的另一个单元格分配以引号开头的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10768370/

10-11 03:35