確認ありがとうございます。
おそらく、もともとのコードは、以下の URL の見解です。
http://officetanaka.net/excel/vba/tips/tips20.htm
Sub Sample2()
Dim buf As String, buf2 As String, CB As New DataObject
buf = "tanaka"
With CB
.SetText buf ''変数のデータをDataObjectに格納する
.PutInClipboard ''DataObjectのデータをクリップボードに格納する
.GetFromClipboard ''クリップボードからDataObjectにデータを取得する
buf2 = .GetText ''DataObjectのデータを変数に取得する
End With
MsgBox buf2
End Sub
私の端末で動作してみましたが、buf2 のデータは「??」だったので、事象が再現できました。
→Windows 10 Pro : Microsoft 365
Microsoft 365 Excel のバグでしょうか。。。
ただ、以下のように、Ctrl+C でセルのデータをクリップボードに送った後は、正常に取得できました。
Sub Sample3()
Dim buf As String, buf2 As String, CB As New DataObject
buf = "tanaka"
With CB
'Ctrl+C で何かをクリップボードに送った後
.GetFromClipboard ''クリップボードからDataObjectにデータを取得する
buf2 = .GetText ''DataObjectのデータを変数に取得する
End With
MsgBox buf2
End Sub
他の、Excel バージョンの方の回答を待ってみましょう。