
列の 1 つ (列コードとします) にテキスト 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」を文字列(ブール値ではない)として取得したいです。