プロが教える店舗&オフィスのセキュリティ対策術

Excel VABで、同じ表示位置に重ねてLoadしてある複数の画像から
一枚だけを選択して表示しようとしています。次のソースのように
表示する絵だけをVisible = Trueとしていますが、絵の切り替わりが
もたもたしていて、スパッと切り替わりません。
もっときれいに切り替えるために何か良い方法はないでしょうか?
よろしくお願いします。

Sub dispPicture(pn As Integer)
Select Case pn
Case 0
' ClipNameView
Image1.Visible = True
Image2.Visible = False
Image3.Visible = False
Image4.Visible = False
Image5.Visible = False
Case 1
' ThumbnailView
Image1.Visible = False
Image2.Visible = True
Image3.Visible = False
Image4.Visible = False
Image5.Visible = False
End Select
End Sub

A 回答 (2件)

Private Sub CommandButton1_Click()


Static n
n = n + 1
If n > 3 Then n = 1
MsgBox n
'Worksheets("Sheet2").OLEObjects(n).ShapeRange.ZOrder msoBringToFront
For i = 1 To 3
Worksheets("Sheet2").OLEObjects(i).Visible = False
Next i
Worksheets("Sheet2").OLEObjects(n).Visible = True
End Sub
をやってみると、3つぐらいではそんなには遅くない。
数が多いからではないですか。
ーー
自信はないが
・.ZOrder を使うとか
・画像を素の都度再LOADするとかやってみては。
・ScreenUpdatingを細工しても速くならないかな。Falseの部分を挟む。
・質問には書いてないが、画像はフォームに貼り付けているのか、シートに貼り付けているのか意識してますか。
上記はシートに貼り付け例。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。お礼が遅れて失礼しました。

お礼日時:2011/03/21 09:25

Me.Repaintしたらどうでしょうか?

    • good
    • 0
この回答へのお礼

回答ありがとうございます。お礼が遅れて失礼しました。

お礼日時:2011/03/21 09:24

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