• ベストアンサー

VBAのテキストボックスに文字列を貼り付ける方法

こんにちは エクセルのVBAのユーザーフォーム上に作ったテキストボックスに 他でコピーした文字列(または数値)を貼り付け(ペースト)たいのですが、 テキストボックスのプロパティの項目のどれかを設定すれば可能でしょうか? 現状ではここで、右クリック自体できなくなっています。 使っているのはエクセル2000です。

  • hwy101
  • お礼率93% (2027/2167)

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんばんは。 ちょっと気になったことなので、もしかしたら私の間違いかもしれませんが、#3 のご紹介になつている k窓の kClipboardPaste関数は、Userform上では、Excelの通常のClipBoard ダイアログとは違うものを使っているので、うまくいかないのではないかと思います。 早い話は、やはり、Ctrl + V ですが、以下のようにすれば、右クリックで貼り付けは利きます。ただし、TextBox のプロパティのMultiline をTrue にしておかないと、改行マークが出てきてしまいます。 Private Sub TextBox1_MouseUp(ByVal Button As Integer, _      ByVal Shift As Integer, _      ByVal X As Single, _      ByVal Y As Single)   Application.EnableEvents = False  If Button = 2 Then   Application.SendKeys "^v"  End If  Application.EnableEvents = True End Sub

hwy101
質問者

お礼

これで、うまくいきますね。 すばらしいです。ありがとうございます。

その他の回答 (4)

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.4

>フォーム上で直接貼り付けたいのですが… あ~すみません、そういう意味でしたか。 それなら#2さんのようにキーボードから操作するのが一般的でしょう。 機能として(ボタンを押したら、とか)盛り込んでいいのなら、Pasteメソッドでいけますね。 TextBox1.Paste

hwy101
質問者

お礼

ありがとうございます。

  • muko650
  • ベストアンサー率54% (6/11)
回答No.3

めんどうですが、似たようなのを作る方法もあります。 TextBox1_DblClickとかと組み合わせて・・・

参考URL:
http://homepage2.nifty.com/kmado/ke_m9.htm#E02M088
hwy101
質問者

お礼

私にはちょっと難しいですが やってみます。ありがとうございます。

noname#112806
noname#112806
回答No.2

右クリックメニューは出ないのでショートカットキーを使うしかないですね。 コピー:Ctrl+C 切り取り:Ctrl+X 貼り付け:Ctrl+V

hwy101
質問者

お礼

ここでショートカットキーが使えるとは思いつきませんでした。 便利ですね。 ありがとうございます。

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

Textプロパティに設定すればOKです。

hwy101
質問者

補足

Textプロパティにコピーした内容を貼り付けるという意味でしょうか? フォーム上で直接貼り付けたいのですが… ありがとうございます。

関連するQ&A

  • VBAのテキストボックスについて

    VBAで作成したユーザーフォームのテキストボックスの中にhtmlのソースを貼り付けて、そのソースの中のtableタグ中から数値を取り出してそれぞれのセルに出力したいと考えていますが、そのようなことはできるのでしょうか。 自分である程度考えているのですが、なにぶん始めたばかりなのものですから、テキストボックス内の文字列をどう処理すればよいのかわかりません。 よろしければ教えてください。

  • エクセル・VBAでテキストボックスに入力された文字を

    エクセル・VBAでテキストボックスに入力された文字を B列から検索し、結果をユーザーフォームのリストbox に表示したいのですがうまくいきません 検索は部分一致・大文字小文字無視で行いたいです よろしくお願いします

  • VBAのテキストボックスの表示について

    エクセルでVBAを使っているのですが、作成したフォームのテキストボックスに、セルの[00]や[05]といった形式の値を入れようとすると、[0]や[5]と直されてしまいます。プロパティでうまく設定する方法はありますでしょうか? よろしくお願いいたします。

  • コンボボックスからテキストボックスに連続して値を出したい

    エクセルVBAのユーザーフォームで、コンボボックスで選択したものをコマンドボタンを押すことで、同じフォーム上のテキストボックスに表示するところまではできたのですが、同じテキストボックスに追記する形でコンボボックスで選択したものを表示したいのですが、可能でしょうか。テキストボックスは複数行表示できるようにプロパティのMultiLineはTlueに設定することはしたのですが、2回目以降コンボボックスで選択した後コマンドボタンを押してもそのまま上書きするようなコードしかわかりません。 テキストボックスに、20回目まで選択項目を追加表示し、最後にはエクセルのシートにそのデータをコピーしたいのです。果たして、そのようなことは可能でしょうか。可能であればどのように記述すればよいのでしょうか。ぜひ諸先輩方のお知恵をお貸しください。よろしくお願いします。

  • ユーザーフォーム上に表示されているテキストブックのテキストを右クリックでコピー&ペーストする方法

    エクセルに関する質問をさせて頂きます。 エクセルのユーザーフォーム上に表示されているテキストボックスのテキストを、マウスの右クリックでコピー、別のテキストボックスにペーストしたく考えています。 色々調べて見たんですが、方法が見つかりません。 どなたかご存知の方がおられましたらご教授頂きたくお願い致します。

  • EXCEL VBA テキストボックスを見やすくしたい

    いつもお世話になっております。 EXCEL VBA のユーザーフォーム上の テキストボックスについて教えて下さい。 大きめのテキストボックスを作り 改行を許可して、数十文字を表示させることができたのですが、行と行の間が詰まりすぎていて、見づらいのです。 行間を空ける方法を教えて下さい。

  • テキストボックス内のテキストをCut & Past

    VBAで作成したユーザーフォーム上のテキストボックス内のテキストを カット アンド ペースト が出来るようにしたいのですが方法が有るのでしょうか? Word や Excel の様に 出来ると便利になるのですが どなたか ご教示くださればと思います。宜しくお願いします。

  • VBAでボタンでテキストボックス作成したい

    こんばんわ! エクセルVBAのユーザーフォーム上のボタンを押すとユーザーフォーム上に新たにテキストボックスを作成することは可能でしょうか? (ちなみに通常時非表示でボタンを押すと表示といった内容以外でお願いします。大量にテキストボックスを作れるようにしたいので^^;) 可能なようでしたらサンプルソースあるいは参考HPを教えてください! ちなみに現在使用中はエクセル2003です。(2007でもOKです^^) アドバイスの程よろしくお願いいたします。

  • VBA テキストボックス内の文字列を切り出したい

    フォームのテキストボックスに入力した文字列の一文字目だけを 切り出し、変数に格納したいのですが、 切り出す作業がどうしてもできません。 よろしくお願い致します。

  • エクセルVBAのユーザーフォーム上のテキストボックスについての質問です

    エクセルVBAのユーザーフォーム上のテキストボックスについての質問です。 Aのユーザーフォームの内容をBのユーザーフォームのテキストボックスへ引き継いで、Bのユーザーフォーム上で内容を編集するという仕組みにしたいのです。 Bのユーザーフォームは新規入力もかねたユーザーフォームなので、テキストボックスのイベントにAfterUpdateを使用して、テキストボックスの内容が書き換えられるとデータベースから検索して新規か既存か判断させています。 AのユーザーフォームからBのユーザーフォームのテキストボックスへ引継ぎさせるときにこのAfterUpdateを発生させたくないのですが、Application.EnableEvents=Falseなどを使ってもイベントが発生してしまいます。 また、イベントがどのタイミングで発生するかと、コードをステップで実行させると、このイベントは発生しません。そのために、いきづまってしまいました。 AのユーザーフォームからBに引き継ぐ処理  ユーザーフォームB.Load ---ユーザーフォームBのイニシャライズが実行される  ユーザーフォームB.テキストボックス = ユーザーフォームA.テキストボックス  ユーザーフォームB.Show ちょっと簡単に書きすぎですがこんな感じです。 コードをステップで実行するとユーザーフォームBのAfterUpdateは実行されません。(VBAエディタのバグ?) どなたか回答お願いします。

専門家に質問してみよう