[[20120320092207]] 『(マクロ起動時)ユーザーフォームのTextBox内にコピペしたax(いちご) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『(マクロ起動時)ユーザーフォームのTextBox内にコピペしたい』(いちご)

 Excel2003を使用しています。

 ユーザーフォームでTextBox2を作成しています。
 マクロを起動した際、ユーザーフォームTextBox2に、キーボード入力はできるのですが、
 メール文章をコピペしようとしたら入力できませんでした。

 何か設定あるのでしょうか?
 宜しくお願い致します。

 Private Sub CommandButton1_Click()
 If TextBox1.Value <> "" Then
        Dim lRow As Long
        With Worksheets("いちご")
            lRow = .Range("A" & Rows.Count).End(xlUp).Row
      .Range("B" & lRow + 1).Value = TextBox2.Value  ←ココ
    End With
  End If


 >ユーザーフォームでTextBox2を作成しています。
 これは、TextBoxをコードで作成しているということですか?
 ちょっと気になりますが・・・。

 >メール文章をコピペしようとしたら入力できませんでした。
 Textbox2への貼り付けは、
 Ctrl+v

 で貼り付けできませんか?

 もし、右クリック--->メニュー--->貼り付け
 のような機能のことなら、自作するのですよ!!
[[20100921183617]]

 ichinose


 ichinose様
 ご回答ありがとうございます。

 TextBoxは、ツールボックスからTextBoxを選んで、四角いボックスを作成しています。
 答えになっているか心配です。。

 入力画面(ユーザーフォーム)を表示するようUserForm1.Show
 としています。

 その後TextBox2に文字を記載し、
  →キーボード入力の場合もあります
  →コピーした文章を、右クリック,貼り付けもしたい

 Sheetへの反映は、コマンドボックスを押したら入力するようにマクロを組んでいます。

 ------------------------------------------------------------------------
 ご回答いただいたCtrl+v作業でもできず。。
 あらかじめコピーしていた文章をTextBox2でCrtl+v をしたのですが、
 貼り付けられませんでした。。

 もしこのようなことを解決できるマクロコードがあれば
 分かる方に教えていただきたいです。
 宜しくお願いします。

 いちご


 >『(マクロ起動時)ユーザーフォームのTextBox内にコピペしたい

 実際のコピーのタイミング、また、どこからコピーするのかが不明だけど、以下のコーは、ユーザーフォームが表示される時点で
 "いちご"シートのB10セルの値をTextBox2に転記している。

 Private Sub UserForm_Initialize()
    TextBox2.Value = Sheets("いちご").Range("B10").Value
 End Sub

 追記)↑は、完全に要件を取り違えていたね。無視して。
  ・メールや、他のアプリケーションの文章をTextBox2にコピーするなら
   その文章を選び、Ctrl/c --> TextBox2をクリックしてCtln/v で、できるはずだよ。
   できないの?
  ・それとも、TextBox2の値を、どこか別のアプリケーションにペーストしたいの。
   それも、逆の操作をすればできるよ。

    実際にやりたいことは何なのかな?

 (ぶらっと)

 まず、問題を抱えているブックではなく、新規ブックにて、

 ユーザーフォームを一つ作成してください(UserForm1)。
 これに、テキストボックスを二つ配置してください(TextBox1及び、TextBox2)。

 標準モジュールに

 sub test1()
    userform1.show
 end sub

 上記test1を実行してください

 冒頭に定義したUserForm1が立ち上がりますね

 この表示されたUserForm1に対し、TextBox1に ichinoseと入力してください
 入力したichinoseを選択し(反転状態)、そのまま Ctrl+C を押してください。
 Textbox2に移り(フォーカスをあてる)、Ctrl+V を実行してください。

 ↑この処理で貼り付けが可能ですか?

 これも出来ないなら、何か異常な原因があります。

 上記の操作では、貼り付けが出来るなら、問題のメールをコピーして、
 Textbox2にフォーカスをあて、 Ctrl+Vで貼り付けてみてください。

 メールだとコピーできないなら、別の場所(例えば、Excelのセルに貼り付けられるか)に貼り付け可能か試してみてください。

 この辺りの結果を聞かせてください。

 ichinose


 ぶらっと様 ichinose様

 ご回答いただきありがとうございます。
 すみません。Ctrl+Vでのペーストできました。
 どうもありがとうございます。

 実は新たに質問があります。

 ・メールや、他のアプリケーションの文章をTextBox2にコピーするなら
  その文章を選び、Ctrl/c --> TextBox2をクリックしてCtln/vをしたいのですが、

 同じことをもう2回(TextBox3, TextBox4) 別の文章のコピペもしたいと思っていますが、
 一度ユーザーフォームShowで出してしまうと、2回目以降のTextBox(3,4)に
 "文章を選び、Ctrl/c --> TextBox2をクリックしてCtln/v"という作業ができないのです。(チャリンという音がし、選択することができない状態になります。。)
 初回は、コピペしたい文章をあらかじめCtrl/cまでしておいて、ユーザーフォームを開いてTextBox2でCtln/vを
 しています。

 すみませんが、こちらも教えてください。
 宜しくお願いします。

 (いちご)


 >この表示されたUserForm1に対し、TextBox1に ichinoseと入力してください
 >入力したichinoseを選択し(反転状態)、そのまま Ctrl+C を押してください。
 >Textbox2に移り(フォーカスをあてる)、Ctrl+V を実行してください。

 ↑これできましたか? 記述したとおり、ユーザーフォームが表示された後に
 Copy&Pasteを行っています。別アプリでも同様にできています。

 再度、新規ブックにて確認してみてください。

 それから・・・、
 >すみません。Ctrl+Vでのペーストできました。
 質問時に出来なかった訳は? こういうことをきちんと記述してください。
 他の方の参考になる場合がありますから・・・。

 ichinose


 >同じことをもう2回(TextBox3, TextBox4) 別の文章のコピペもしたいと思っていますが、・・・--> TextBox2をクリックしてCtln/v"という作業ができないのです

 最初はできるというのは、ユーザーフォームを表示する前に、どこかをCtrl/c でクリップボードにいれてある。
 で、ユーザーフォームのテキストボックスで、そのクリップボードからペースト。
 なぜ、2回目ができないかというと・・・想像で。

 ・別アプリ(今、動かしているエクセルではない、別エクセルであるとか、メモ帳であるとか、メールであるとか)の文章ならコピペできるよ。
 ・できないというのは、今、動かしているエクセルで、セルをコピーしたいのに、セルが選択できないということじゃない?
 (チャリンという音はテキストボックスを選ぼうとして出るのではなくセルを選ぼうとしてでているんでしょ)

 ユーザーフォームを、通常に(?) UserForm1.Show とすると、モーダル表示といって、表示されている間はエクセルの操作が一切できないようになる。
 UserForm1.Show vbModeless とやると、モードレス表示という状態になり、ユーザーフォームも操作できるし
 ブックの操作(セルの選択も)もできる。

 既存のコードのロジックでモードレス表示ができない事情があれば、ちょっと考えるけど。

 (ぶらっと)

 ichinose様 ぶらっと様
 ご丁寧に回答いただきましてどうもありがとうございました。
 思ったような操作をすることができました。

 ichinose様
 ご回答ありがとうございます。
 質問時にできなかった訳を記述せず、すみませんでした。
 ■Ctrl+Vでのペーストできました。の訳ですが、
 正直、分からないのです。Ctrl+Vがはじめに教えていただいたときはできなかったのですが、
 再度やってみたらできたのです。
 その後は何度試してもできるので、はじめは何らかの勘違い(操作ミス?)によるものと思います。

 また、
 ■下記操作は、できました。
 >この表示されたUserForm1に対し、TextBox1に ichinoseと入力してください
 >入力したichinoseを選択し(反転状態)、そのまま Ctrl+C を押してください。
 >Textbox2に移り(フォーカスをあてる)、Ctrl+V を実行してください。

 ぶらっと様
 ご回答ありがとうございます。
 >同じことをもう2回(TextBox3, TextBox4) 別の文章のコピペもしたいと思っていますが
 ですが、
 ・別アプリ(今、動かしているエクセルではない、別エクセルであるとか、
   メモ帳であるとか、メールであるとか)の文章をコピペしたかったので、
 やってみたところ、できました。
 セルを選択していて、チャリンといっていたので、エラーなのかと勘違いしていました。

 ishinose様,ぶらっと様大変ご協力いただき、本当にありがとうございました。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.