vba 剪貼簿中的 TRUE 或 FALSE 文字被 Excel 辨識為布林值

vba 剪貼簿中的 TRUE 或 FALSE 文字被 Excel 辨識為布林值

我有一個表,其中一列(假設列 Code)的文字為 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”作為字串(不是布林值)。

相關內容