[[20200508105206]] 『別のユーザーフォームを呼び出し、入力したデータ』(狸 たぬき) ページの最後に飛ぶ

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

 

『別のユーザーフォームを呼び出し、入力したデータを反映させたい』(狸 たぬき)

ユーザーフォーム1で顧客名簿を作成しているのですが、備考欄の文字数が多く、表示できない箇所が出てくるため、困っています。

ユーザーフォーム1のみで備考欄をカバーするのは困難なため、ユーザーフォーム1(顧客名簿)からユーザーフォーム2(顧客名簿の備考欄のみ対応)を呼び出し、ユーザーフォーム2に文字を入力し、そのデータをユーザフォーム1もしくは直接該当のセルに反映させたいのですが、コードの構成がわかりません。

※ユーザーフォーム2のテキストボックスは備考欄の1個のみです。

よろしくお願いいたします。

< 使用 Excel:Office365、使用 OS:Windows10 >


>備考欄の文字数が多く、表示できない箇所が出てくるため、困っています。
>ユーザーフォーム1のみで備考欄をカバーするのは困難なため

意味合いがわかりません。
(tanuki) 2020/05/08(金) 11:12


(ユーザーフォーム1を【モードレス】で開いておいて、)ユーザーフォーム2のQueryCloseイベントで「ユーザフォーム1もしくは直接該当のセル」にユーザーフォーム2のテキストボックスの内容を出力すればよいのでは?

(もこな2 ) 2020/05/08(金) 11:25


 案として、ユーザーフォーム2に

 Public Function 備考取得() As String
  Me.Show
  備考取得 = TextBox1.Value
  Unload Me
 End Function

 で取得するのは、どうでしょうか。
 QueryCloseイベントにMe.Hideが必要で、
 コードの量は増えますが、将来のメンテ時に
 分かりやすいかな、と。
(tkit) 2020/05/08(金) 11:47

別案で、スクロールバーを出すようにしてしまうという手もありますね。
    Private Sub UserForm_Initialize()
        With TextBox1
            .MultiLine = True
            .ScrollBars = fmScrollBarsBoth
            .WordWrap = False
        End With
    End Sub

 ※説明用にコード化しましたが、設計段階で設定しておくことも可能

(もこな2 ) 2020/05/08(金) 12:24


コメント返信:

[ 一覧(最新更新順) ]


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