问题描述
我认为很简单,但是我会发疯的。 此图像恰好显示了我的问题。 我在表上,两行带有文本,我将表值添加到变量中,当我“粘贴”值时,我分别返回一列数字和一列文本? 这是我用来解释程序的简单代码:
Sub test()
Dim testVal,testRng As Range
Set testRng = Range("A1:B10")
testVal = testRng.Value
With testRng.Offset(,2)
.Value = testVal
End With
End Sub
解决方法
就像您键入一个值一样,Excel会检查它并推断出它认为您想要的类型。有时您需要指定格式,以强制Excel将值设置为文本格式:
With testRng.Offset(,2)
.NumberFormat = "@"
.Value = testVal
End With
或使用Excel的内置复制/粘贴功能,其中可以包括以下格式:
Dim testVal,testRng As Range
Set testRng = Range("A1:B10")
testRng.Copy
With testRng.Offset(,2)
.PasteSpecial (xlPasteValuesAndNumberFormats)
End With
Application.CutCopyMode = False