Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


72583 / 76738 ←次へ | 前へ→

【8638】Re:別のブックのUserFormのTextBoxの値を変更
発言  ichinose  - 03/10/27(月) 21:16 -

引用なし
パスワード
   ▼123 さん:
こんばんは。
>
>Book1が表示されている時は
>TextBox1の値が表示されているのですが、
>それを保存して、再度Book1を開いてみると
>また、元のTextに戻っています。

book1.xlsのUserform1のTextbox1のTextプロパティを書き換えて保存しても
再度Book1.xlsを開けば、書き換えた内容は表示されませんよ。


>プロパティ内のTextを直接書き換えなければいけないのでしょうか?
↑そういうことです。

お奨めはしませんが、情報として、
例えば、Book2.xlsのユーザーフォーム(Userform1)には、
テキストボックス(Textbox1)と変更ボタン(Commandbutton1)と
決定ボタン(CommandButton2)を用意してみましょう。
フォームモジュールに
'===========================================================
Dim frm
'=================================================
Private Sub CommandButton1_Click()
'Book1.xlsのTextbox1を変更する
  Dim genzai As String
  genzai = TextBox1.Text
  Set frm = Application.Run("book1.xls!get_frm")
  frm.TextBox1.Text = genzai
End Sub
'==================================================
Private Sub CommandButton2_Click()
'変更を確定する
  Dim genzai As String
  genzai = frm.TextBox1.Text
  Unload frm
  Set frm = Nothing
  Call set_vbp_textbox(Workbooks("book1.xls"), "UserForm1", "TextBox1", genzai)
End Sub
'=======================================================================
Sub set_vbp_textbox(wk As Workbook, formname As String, tbx_nm As String, set_data)
'ユーザーフォームのテキストボックスを書き換える
  Dim vbc
  With wk.VBProject
    Set vbc = .VBComponents(formname)
    vbc.Designer.Controls(tbx_nm).Text = set_data
    End With
End Sub


Book1.xlsの保存するコードは省略しますが、これでbook1.xlsのテキストボックスの内容が変更されると思います。
ただ、これは、Book1.Xlsのプログラムを書き変えることになってしまいます。
(私は、このようなコードは、作成したプログラムの編集用にしか使用していません)
たぶん、私が123 さんだったら、上記のようなコードにはしないと思います。

変更したbook1.xlsのTextbox1の内容をbook1.xlsの所定のセルに入れてから保存する。
ユーザーフォームを表示するときにその所定のセルから逆にTexbox1へ設定する。
という方法がよいと思いますがいかがでしょうか?
0 hits

【8619】別のブックのUserFormのTextBoxの値を変更 123 03/10/27(月) 11:47 質問
【8621】Re:別のブックのUserFormのTextBoxの値を変更 INA 03/10/27(月) 13:20 回答
【8627】Re:別のブックのUserFormのTextBoxの値を変更 123 03/10/27(月) 16:04 質問
【8629】Re:別のブックのUserFormのTextBoxの値を変更 INA 03/10/27(月) 16:13 回答
【8631】Re:別のブックのUserFormのTextBoxの値を変更 123 03/10/27(月) 17:05 質問
【8632】Re:別のブックのUserFormのTextBoxの値を変更 INA 03/10/27(月) 17:42 回答
【8633】Re:別のブックのUserFormのTextBoxの値を変更 123 03/10/27(月) 18:10 お礼
【8628】Re:別のブックのUserFormのTextBoxの値を変更 ichinose 03/10/27(月) 16:11 回答
【8630】Re:別のブックのUserFormのTextBoxの値を変更 123 03/10/27(月) 17:00 質問
【8634】Re:別のブックのUserFormのTextBoxの値を変更 ichinose 03/10/27(月) 18:13 発言
【8635】Re:別のブックのUserFormのTextBoxの値を変更 123 03/10/27(月) 18:51 質問
【8638】Re:別のブックのUserFormのTextBoxの値を変更 ichinose 03/10/27(月) 21:16 発言
【8641】Re:別のブックのUserFormのTextBoxの値を変更 123 03/10/28(火) 11:05 お礼

72583 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free