|
おはようございます。
さっそくのレス、ありがとうございます。
▼ichinose さん:
>ActiveXControlの作成・削除(貼付けも含む)ことによる
>データ初期化のタイミングの問題だと思いますよ!!
なるほど!思わず唸ってしまいました。
流石と言うほかはありません。完璧に納得いたしました。
以降、蛇足ですが・・・
> Application.OnTime Now(), "subproc"
ここにヒントがありました。
Private Sub CommandButton1_Click()
Sheet1.CheckBox1.Copy
Sheet1.Paste Sheet1.Range("C4")
Application.OnTime Now(), "UserFormShow"
End Sub
Sub UserFormShow()
UserForm1.Show
End Sub
と言う具合にすれば、とりあえずUserFormの再表示は出来てしまいました(^^;;
私のやろうとしていることは、UserForm上のツールを使いながら、
Worksheetを編集していく作業ですが、実際のところ、
UserForm上のボタンが押されてから、Worksheet上の値を読み込んで、
なんらかの処理を施す、と言った流れです。
ので、保持しなければならない変数はありませんので、
(当該マクロは会社にありますので、月曜日まで試せませんが)
今のところ、おそらく上記で事足りるような気がします。
が、ここまでご教授いただいた内容を考えますと、
どう考えても、将来的にどこかで何らかの不測の不具合をもたらすであろうことは
想像に難くありませんので、やはり、ActiveXコントロールそのものを
使わない方向で書き直すこととします。
最後になりましたが、
ももさん、ichinoseさん、ほんとうにありがとうございました。
具体的な例を示していただきながらの、わかりやすい解説で、
大変勉強になりました。
これからも微力ながら、VBA道に精進したいと思います(苦笑)
それでは、失礼いたします。
|
|