|
>Target.Value=変数を書くのは、
>ユーザーフォームとシートのどちらに、どのタイミングでしょうか?
やり方はいくつかあると思いますが、とりあえず2つほど
1.フォームのcmb_syukeikaisi_Clickで実行
1-1
bufはcbm_sansyou_Clickの中ではなくUserFormの直下で宣言するか、標準モジュールにパブリック宣言する。
1-2
標準モジュールにRange型の変数をパブリック宣言で用意しておく(例:Rng)
1-3
UserForm.Showの前に、RngにTargetの参照を格納。
(直接Targetを使わないのは、TargetはBeforeDoubleClickの中でしか動かないから)
Set Rng = Target
1-4
bufに必要な値が入ったら、Rngを介してTargetに値を代入。
Rng.Value = buf
2.WorkSheetのBeforeDoubleClickで実行
2-1
bufは標準モジュールにパブリック宣言する。
2-2
bufに必要な値が入ったら、フォームを閉じる。
Unload Me
2-3
WorkSheetのUserForm.Showの続きでTargetにbufの値を代入。
UserForm.Show
Target.Value = buf
なお、質問に対する回答ではないのですが、ActiveWorkbookやActiveSheetは何らなの都合で狙ったブックやシートがアクティブになっていなかったときに不具合が起こるので、ブックを開いたときにWorkbook型やWorksheet型の変数に参照を格納し、それを使って操作した方が確実かと思います。
|
|