
У меня есть таблица, в одном из столбцов (скажем, столбец Код) есть текст ИСТИНА. Но когда я копирую его в Excel, данные становятся логическими, поэтому мой vlookup (который ищет текст ИСТИНА из столбца Код) становится ошибкой (#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
Если вам требуются двойные кавычки вокруг значения ячейки ИСТИНА,
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» был строкой (не логическим значением) после вставки его из буфера обмена.