|
こんばんは。
>
>ユーザーフォームからシート上の各セルへ入力したいと思っています。
>
>TextBox1 = Worksheets("Sheet1").Range("A1")
>
>では、入力済みのセルの修正ができないので、ControlSourceでリンクさせようと思い、
これで、入力済みのデータをテキストボックスに戻して、入力完了後に
今度は逆にセルに戻せばよいのですけどねえ・・・。
入力完了後というタイミングは、イベントで管理します。
これは、一例ですが・・・。
Private Sub TextBox1_Enter()
TextBox1.Value = Worksheets("Sheet1").Range("A1").Value
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Worksheets("Sheet1").Range("A1").Value = TextBox1.Value
End Sub
>ネットで調べて、この様なコードを入れてみましたが、全くリンクしません。
>
>Sub UserForm1_Initialize()
> UserForm1.TextBox1.ControlSource = "A1"
>End Sub
これは、アクティブシートのセルA1と結ばれていますけど、よろしいですか?
>Sub UserForm1_Initialize()
UserForm1.TextBox1.ControlSource = "Sheet1!A1"
>End Sub
より正確には、上記でしょうか?
書き込みは、Textbox1から、フォーカスが移るタイミングですから、
テストでは、コマンドボタンも作成しておいて、フォーカスがこのコマンドボタン
に移ったタイミングでセルに反映されます。
コマンドボタンというのは、例ですから、別のテキストボックスを作成して
試しても大丈夫です。
ControlSource を使う場合は、
イベントを使うなら、TextBox1_BeforeUpdateでしょうけど、これは、余計な話でした。
|
|