重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

前処理が済んだ時点でuserformを表示し、
本処理に入る方法を教えていただきました。
そして以下のようにコーディングしました。

Sub userformd()
前処理
UserForm1.Show vbModeless
本処理
Unload UserForm1
End Sub

思った通り処理が出来たのですが、
背景に色を付けてみようと、以下のように手を加えたのですが、
色が付きません。
原因と対応法をお教え下さい。

Sub userformd()
前処理
UserForm1.BackColor = RGB(255, 0, 0)
UserForm1.Show vbModeless
本処理
Unload UserForm1
End Sub

宜しくお願いします。

A 回答 (1件)

Sub userformd()


前処理
load userform1
UserForm1.BackColor = RGB(255, 0, 0)
UserForm1.Show vbModeless
本処理
Unload UserForm1
End Sub

この回答への補足

お騒がせしました。
解決しました。

userform1.repaintを入れましたら、
完璧に表示されました。
有り難うございました。

補足日時:2014/07/18 06:03
    • good
    • 0
この回答へのお礼

いつも有り難うございます。
やってみましたが、結果は同じ(表示されません)でした。
背景は白いままです。

教えを見て、
ロードする前に、プロパティをセットしていたからだ、と思ったのですが。
結果は変わりませんでした。

userform1.show vbmodeless のvbmodeless を外すと見事に表示されます。
この場合、教えていただいた load userform1を入れなくてもです。

また、userform1のcaptionは見事に変わります。
(事前の loadが在っても無くても)


まとめますと、
captionはloadを入れても入れなくても期待したとおりに変わるのですが、
背景だけは入れても入れなくても白いままということです。

本コードは、標準モジュールに書いていますが、
場所が違うのでしょうか。
それとも、「背景」(backcolor)の他にも何か指定が必要なのでしょうか。

何分、ユーザーフォームは初心者です、
引き続き宜しくお願いいたします。

お礼日時:2014/07/18 05:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!