• ベストアンサー

EXCEL/VBA 変数の値をクリップボードにコピーする方法

EXCEL/VBAで、変数Xの値をクリップボードにコピーする方法を教えて貰えませんか。下記のように変数Xを一度セルに代入すると出来ますが、変数Xを直接クリップボードにコピーする方法が分かりません。 宜しく、お願いします。 Range("a1") = X Range("a1").Copy

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

1.DataObjectを使用する方法 と 2.APIを使用する方法 が考えられます。 1.は「VBA DataObject」 2.は「VBA API CLIPBOARD」 などで検索してみてください。サンプルが見つかると思います。

pegasusv
質問者

お礼

検索しました。 1.DataObjectを使用する方法は、うまく動作しました。 2.APIを使用する方法は、「オブジェクトが必要です」のエラーが出てうまく動作しませんでした。APIの宣言がまずいのかも知れません。 EXCEL VBAの場合は、「DataObjectを使用する方法」の方が色々と良いサンプルが載っていました。 回答有難うございました。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

'VBEの「ツール」、「参照設定」で「Microsoft Forms 2.0 Object Library」にチェックを入れてから使用してください。 '(そうしないとエラーになります) Sub test01()   Dim myData As DataObject   Dim myCb As Variant   Dim x   x = "TESTデータです。"   Set myData = New DataObject   myData.SetText x   myCb = myData.GetText   myData.PutInClipboard End Sub

pegasusv
質問者

お礼

うまく動作しました。 親切にコードを記載して頂きまして、有難うございます。 DataObjectを使用する方法が理解出来ました。 回答有難うございました。

関連するQ&A