
Ich habe eine Tabelle, in der eine Spalte (sagen wir Spalte „Code“) den Text TRUE enthält. Aber wenn ich sie nach Excel kopiere, werden die Daten boolesch, sodass mein VLookup (das den Text TRUE aus Spalte „Code“ sucht) einen Fehler (#N/A) verursacht. Wie löse ich dieses Problem?
Zu Ihrer Information: Ich füge die Daten zuerst in die Zwischenablage ein
Dim ClipboardObj As New MSForms.DataObject
ClipboardObj.SetText Text:=myExternalData
ClipboardObj.PutInClipboard
Geben Sie die Daten dann mit „Inhalte einfügen“ in die Excel-Tabelle ein.
Range("C4").Select
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
Antwort1
Stellen Sie in Ihrem VBA-Code das Zellenformat auf Text ein.
Range("C4").NumberFormat = "@"
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
Wenn Sie doppelte Anführungszeichen um den Zellenwert TRUE benötigen,
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)
Antwort2
Gelöst. Ich habe das Format der Codespalte in der Excel-Symbolleiste in Text geändert. Ich habe vergessen, das Format zu überprüfen.
@njc: ja, ich möchte den Text „TRUE“ als Zeichenfolge (nicht Boolesch), nachdem ich ihn aus der Zwischenablage eingefügt habe.