- ベストアンサー
ユーザーフォーム上に表示されているテキストブックのテキストを右クリックでコピー&ペーストする方法
Wendy02の回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 Wendy02です。 >ただ、なんせテキストボックスは100以上もあり、どのテキストボックスのデーターを、 最初に、それを言っていただいたほうが良かったですね。私の読みが足らなかったせいなのですが、2つあるのと100あるのではコードは変ります。 基本的には、同じなのですが、以下のようなコードになります。ひじょうに、ややこしいです。たぶん、良いとは思っていますが、ちょっと自信がありません。このコードで全てのテキストボックスに設定できるはずです。 ただし、自分のテキストボックスに貼り付けることは出来ませんし、一度貼り付けると、そのデータは失われます。 '<UserForm モジュール> Private Sub UserForm_Initialize() Dim myTxtBoxes As New Collection Dim ctrl As Variant Dim i As Integer ReDim myClass1(1 To 1) With myTxtBoxes For Each ctrl In Me.Controls If TypeOf ctrl Is MSForms.TextBox Then .Add ctrl End If Next ctrl End With ReDim Preserve myClass1(1 To myTxtBoxes.Count) For i = 1 To myTxtBoxes.Count Set myClass1(i) = New Class1 With myClass1(i) .Box = myTxtBoxes(i) .Index = i End With Next End Sub '<標準モジュール> Public oldIndex As Integer Public myData As Variant '<Class モジュール- Class1> Private WithEvents myTxtBox As MSForms.TextBox Private myIndex As Integer Public Property Get TxtBox() As MSForms.TextBox Set TxtBox = myTxtBox End Property Public Property Let Box(ByVal BoxNewValue As MSForms.TextBox) Set myTxtBox = BoxNewValue End Property Public Property Get Index() As Integer Index = myIndex End Property Public Property Let Index(ByVal intNewValue As Integer) myIndex = intNewValue End Property Private Sub myTxtBox_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Button <> 2 Then Exit Sub If oldIndex = 0 Then If myTxtBox = "" Then Exit Sub myData = Empty Set myData = New DataObject myData.SetText myTxtBox.Text myData.PutInClipboard oldIndex = myIndex ElseIf oldIndex <> myIndex Then myTxtBox.Paste oldIndex = 0 End If End Sub
関連するQ&A
- ExeclVBAユーザーフォームから右クリックでショートカットメニューで困っています。
ExcelVBAのユーザーフォーム上で、テキストなどを編集する際に右クリックしてコピー&ペーストとかのショートカットメニューを出したいんでけど、出せないものなのでしょうか?書籍などにはワークシート上で自作の右クリックのショートカットマクロを割り付ける、というTipsが掲載されていますが、参考にコードを書いてもうまくいきません。
- 締切済み
- Visual Basic
- ExcelVBAでセルをクリックしてユーザーフォームを表示するには
OfficeExcel2003を使用しています。 ユーザーフォームのテキストボックスやコンボボックスに文字や数値を入力し、OKボタンを押せばエクセルのセルに記入できるようにしようと思ってます。 フォームはなんとか(形だけですが..)作成できたのですが、そのフォームを呼び出す方法として、入力したい行のA列のセルをクリックすればユーザーフォームが表示されるようにしたいのです。 ネット上でいろいろ検索してみましたがなかなか見つけることができませんでした。 初歩的な質問かもわかりませんが、教えて頂けないでしょうか。 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 右クリックのコピーやペーストができなくなりました
Win8を使っています。 WordやExcelで作った文章を開く前にアイコンの状態で 右クリックでコピーやペーストをしたいのですが、 急にできなくなりました。 それまでは普通にできていたのに急にです。 再起動や放電も試してみましたが直りません。 どうしたら直るのでしょうか。 できればバックアップを取ってリカバリなどの大掛かりな方法以外でまず試したいです。 どうぞ宜しくお願いします。 ちなみにそれ以外の右クリックの操作は問題ありません。
- ベストアンサー
- Windows 8
- 1行テキストでコピーペーストしたい
お世話になります。 ビルダー8を使用しています。 フォームメールでURLの入力欄を1行テキストで作成しました。 実際に動かしてみると、1行テキストボックス内でコピー・ペーストができません。 URL欄に自分で全部入力させるのはちょっとと思います。ペーストができるようになる方法をお教えください。
- 締切済み
- ホームページ作成ソフト
- エクセルのユーザーフォームの日付を和暦で表示したい
いつもお世話になります。 エクセルのユーザーフォーム作成に初めて挑戦しております。 ワークシートに日付の元データがあり、ユーザフォームにテキストボックスを配置しその日付データを表示させています。(例:2006/8/3) やりたいことは、そのユーザーフォームにもうひとつ別のテキストボックスを作成し上記の日付データを和暦で自動的に表示させたいのです。(例:上記のテキストボックスが2006/8/3の場合、こちらのテキストボックスはH18.8.3と表示) 初心者ですが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- あるテキスト入力だけ右クリックを禁止できますか?
現在、メールアドレスを間違えてユーザ登録しないように、登録フォームで、メールアドレスを2回打ってもらうようになっているのですが、 コピーペーストをする方がいらして、 あまり効果がでていません。ページ全体で右クリックを禁止しているサイトは良く見かけますが、 メールアドレスの入力フォームだけ 右クリックを禁止したいのですが可能でしょうか?
- ベストアンサー
- JavaScript
- ユーザーフォームにテキストフィールドを作りたい
エクセルでユーザーフォームに、テキストフィールド(テキストを複数行に渡って入力でき、右側に上下に動かせるバーがあるもの)を作りたいんですが、どうやって作れば良いのでしょうか? ご存知の方、ご教授ください。 Excel2003です。
- ベストアンサー
- Visual Basic
- ユーザーフォームのテキスト印刷
ユーザーフォームでテキストだけ印刷させる方法はありますか? ユーザーフォームに何箇所か入力するリストボックス、テキストボックスなどがあり、すべてを入力した後、最後にエクセルに登録するようなフォームなのですが、登録する前にそれらを印刷できればと思います。 登録したエクセルを印刷してもいいんですが、他の情報とかがあるのでユーザーフォームだけを印刷したいです。また、ユーザーフォームをそのまま印刷するとよけいな装飾なども印刷されトナーがもったいないのでそれもしたくはありません。 宜しくお願いします。
- ベストアンサー
- Visual Basic
- セルの値をユーザーフォームのテキストボックスに
エクセルの質問です。 シート1にボタンを設置してユーザーフォームを呼び出すようにしています。 ユーザーフォームにテキストボックスを用意してて、シート1のセル(A1)に記入された数字を、ボタンを押した時に立ち上がったユーザーフォームのテキストボックスに表示されるようにしたいのですが、どうしたらいいのでしょうか?
- ベストアンサー
- Visual Basic
- ユーザーフォームへの文字の表示方法について
VBAを始めたばかりの超初心者です。単純にユーザーフォームを作って検索ボタンを付け、検索結果を表示させる。こんな単純な事がわからずに困っています。 問題は何行もヒットしたらスクロールバーはどうするのか? 検索結果だけの部分をスクロールさせたい。 コントロールは何を張るのか?ラベル?テキストボックス? 検索したい情報はエクセルで有るのでそれを引っ張ってきたいだけなですが。。 出来れば同一のユーザーフォームに表示させたいです。 どなたか教えて下さい。宜しくお願い致します。
- 締切済み
- Visual Basic
お礼
わざわざ再度の回答有難うございます。 回答頂いたモジュールを貼り付けて見ました。 結果は、、、動きませんでした。。。 回答内容の <標準モジュール> Public oldIndex As Integer Public myData As Variant についてですが、標準モジュールシートに、そのまま記述していいのでしょうか。 Subなどの記述はいらないのでしょうか。 そんなに詳しくないもので申し訳ありません。