我有一个表格,其中一列(假设列代码)中有文本 TRUE。但是,当我将其复制到 excel 时,数据变为布尔值,所以我的 vlookup(从列代码中搜索文本 TRUE)变为错误(#N/A)。我该如何解决这个问题?
仅供参考,我首先将数据插入剪贴板
Dim ClipboardObj As New MSForms.DataObject
ClipboardObj.SetText Text:=myExternalData
ClipboardObj.PutInClipboard
然后使用选择性粘贴将数据输入到 Excel 表中
Range("C4").Select
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
答案1
在 VBA 代码中,将单元格格式设置为文本,
Range("C4").NumberFormat = "@"
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
如果您需要用双引号括住 TRUE 单元格值,
Range("C4").NumberFormat = "@" ' you may not need this
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
Range("C4").Value = Chr(34) + Range("C4").Value + Chr(34)
答案2
解决了。我在 Excel 工具栏中将代码列的格式更改为文本,但我忘了检查格式。
@njc:是的,从剪贴板粘贴后,我希望文本“TRUE”作为字符串(而不是布尔值)。