Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Excel 2010)
リストボックスで選択した値をコピーしたい
投稿日時: 20/08/10 10:30:30
投稿者: サーフ1173

お世話になります。
 
ユーザーフォームで作成したリストボックスにその都度、値を更新表示させています。
任意でリストボックスの値を選択して、その値をコピーしてエクセル以外の場所(ホームページや別のファイルなど)にペーストしたいのですがうまくいきませんのでご教授お願いいたします。
 
setなどでできるのでしょうか?
 
Private Sub 監視リストボックス_Click()
 
  Dim 取得 As Variant
 
   Set 取得 = 監視リスト.監視リストボックス
 
End Sub

回答
投稿日時: 20/08/10 11:17:06
投稿者: WinArrow
投稿者のウェブサイトに移動

>ユーザーフォームで作成したリストボックスにその都度、値を更新表示させています。
ということは、リストボックスに表示させる元のデータが存在するわけですよね?
 
そちらのデータを利用することはできないのでしょうか?
 

投稿日時: 20/08/10 11:26:34
投稿者: サーフ1173

WinArrowさん ありがとうございます。
 
元のデータを利用することでできそうですが、プログラムが複雑になりそうなので
簡素にできるように直接クリックしたときに値が取得(コピー状態)になればいいなと思いました。
 
直接はできないのでしょうか?

回答
投稿日時: 20/08/10 12:42:46
投稿者: simple

横から失礼。
リストボックスにはそうしたメソッドが無いので、直接には出来ないでしょう。
 
代替策としては、
(1)DataObject オブジェクトを経由して、クリップボードに送るか、
(2)テキストボックスを経由するかでしょうか。
   値をテキストボックス(非表示にもできると想像)に書き込めば、
   テキストボックスにはCopyメソッドがありますから、それが利用できます。
そのあたりを調べてみて下さい。

投稿日時: 20/08/10 12:48:42
投稿者: サーフ1173

 simpleさん ありがとうございます。
 
やはり直接できないのですね・・・。
 
代替案で作成してみます。
テキストボックスのCopyメソッドかセルのCopyメソッドが一番シンプルで楽ですかね。
これでやってみます。
 
ありがとうございました!

投稿日時: 20/08/10 13:12:52
投稿者: サーフ1173

WinArrowさん、simpleさん ありがとうございました。
 
テキストボックスのCopyメソッドで上手くいきました。
 
また、何かありましたらよろしくお願いします。