テキストボックスへ値をコピーするには?

Question 80.1   Previous Next
他の部分で文章をコピーしてユーザーフォームのテキストボックスに代入(ペースト)したいのですが、どこをどう設定したら良いのかわかりません。
教えていただけたら幸いです。最近、VBAを勉強し始めました。
Answer   Copyright (C) 2006.12.9 永井善王
「他の部分で文章を」ということは 「セルに入力されている値を」ということで、「コピーして代入(ペースト)したい」ということは 「テキストボックスに表示したい」ということでしょうか?
そうであるならば、次の方法で可能になります。
ユーザーフォーム A ユーザーフォーム B









上左図は、ユーザーフォームが表示されるときに、テキストボックスの値にセルの値を代入した状態です。[A]

右上図は、テキストボックスがフォーカスを取得したときに、テキストボックスの値にセルの値を代入した状態です。[B]

どちらの場合も、
TextBox1.Value = Range("A1").Value のようにすれば、テキストボックスの値として表示されるようになります。 これらのコードは、VBE画面のフォームのコード画面で作成します。
VBAを最近、勉強し始めたとのことですが、ユーザーフォームを表示するコードは、ご存知と思い省略しました。

[A] UserForm_Initializeイベントプロシージャとして作成
Private Sub UserForm_Initialize()
    TextBox1.Value = Range("A1").Value
End Sub
[B] TextBox1_Enterイベントプロシージャとして作成 (柔軟な書き方の例)
Private Sub TextBox1_Enter()
    シート = "Sheet2"                           'アクティブでないシートでも可
    セル = "A1"                                 'セルアドレスを指定
    値 = Worksheets(シート).Range(セル).Value   '値を取得する
    TextBox1.Value = 値                         'テキストボックスへ値を設定
End Sub
お試しの上、結果をご連絡ください。
質問の仕方が悪くて・・・
早速有難うございました。 こちらのWebから色々なものをダウンロードさせて頂いたり、勉強させていただいています。
僕の質問の仕方が悪くて、上手くたずねる事が出来ませんでした。 僕が思っていたのは、

例えばホームページや他のエクセルのファイルから文字をコピーして、ユーザーフォームのテキストボックスに挿入しようとしてもプルダウンも出なくて、「貼り付け」が出来ないのです。

セルを参照してテキストボックスに表示するのは、こちらのWebの中に説明が何箇所かあったように思い、実際に使わせていただいています。言葉足らずで申し訳ありませんでした。
一日に20~30回こちらのWebを参考にさせて頂いています。今後ともよろしくお願いします。 二度手間をいとわないのでしたらお答え頂けたら 幸いです。 有難うございました。
Answer  
いろいろ努力されてはいるようですが、焦ってみえませんか。 回答をご覧になってから30分足らずでの再質問、無駄な回答になってしまったようですが、何か解決への糸口を掴まれ、レベルアップした状態でお尋ねいただきたかったですね。

再回答に先立って、あなたの希望と知っていることを整理してみます。
 (1) コピー元はホームページ等の場合がある
 (2) コピー元は他のブック(のワークシートのセル)の場合がある
 (3) テキストボックスへは一般機能でも貼り付け不可能であることを知っている
 (4) セルの値をテキストボックスへ表示するコードを知っている

であるならば、(2)に絞って落ち着いて考えれば、あなたの力で解決できると思いますよ。
例えば、最初の回答の[B]のマクロに、他のブックのワークシートのセルの値をコピーして Sheet2のA1セルへ貼り付けるコードを追加すれば実現します。
他のブックのワークシートのセルが一定でない場合でも工夫次第でしょう。

(1)については、他アプリケーションと連携することになるので、全てを自動化とか本格的に行うのであれば、より専門的な知識が必要になつてきます。 しかし、表示されたホームページから必要部分をハンド操作でコピーして Sheet2のA1セルへ貼り付けておけば、最初の回答の[B]のマクロ等で実現することになりますから、工夫の余地があると言えましょう。

どちらの場合も、ユーザーフォームの表示とコピーするタイミングがどのようになるか等でマクロの組み方が変わってきますから、前提をはっきりさせてから取り組まれることをお勧めします。
マクロができましたら、私にも見せてください。楽しみにしています。頑張ってください。
ありがとうございました
何度も有難うございます。早速試させていただきました。本当の事を言えば質問には答えて頂けるとは思っていなくて充分に質問を説明できていませんでした。それをご丁寧に答えて頂き本当に有難うございました。
普段、エクセルでナンバーズやロト6等の整理やテスト問題を手書きでやっていました。それがVBAで膨大な資料整理が何秒もかからずに出来てしまって感激し、VBAにはまり始めています。

質問は外貨の数値整理にUserFormを利用していての事でした。
結果的にテキストボックスにはクリップボードからの貼り付けが不可能である事を教えて頂きましたので、一旦別のセルにコピーして $や円やポンドをつけ、整理しなおしました。
ダイレクトにセルに入れた方が速いかもしれませんが、少しでも手間が省ける事が嬉しい次第です。
まだ課題は一杯なのですが、一応締めくくりにします。

Excel VBA Macro