- ベストアンサー
EXCEL2007-VBAフォーム上のイメージオブジェクトに図形が設定
EXCEL2007-VBAフォーム上のイメージオブジェクトに図形が設定されているかをチェックするには いつも親切な回答ありがとうございます。 VBAフォーム上のイメージに図形が設定されているかをチェックする方法を教えていただけないでしょうか イメージオブジェクトが5件あり、Shape図形が1,3,5番目に存在した場合 先頭のイメージオブジェクトから詰めて表示したいのですが、方法が分かりません。 どうぞ宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
大分つぎはぎですが,こんな感じで。 UserForm1にImage1からImage5とCommandButton1を配置。 Image1,2,3,4,5には,事前に画像を表示したりしなかったりしてある。 Private Sub CommandButton1_Click() Dim i, n Dim a() Dim res On Error GoTo img_has_not_pict For i = 1 To 5 res = Me.Controls("Image" & i).Picture n = n + 1 ReDim Preserve a(n) a(n) = i ret: Next i On Error GoTo 0 For i = 1 To UBound(a) Me.Controls("Image" & i).Picture = Me.Controls("Image" & a(i)).Picture Next i n = i For i = n To 5 Me.Controls("Image" & i).Picture = LoadPicture Next i Exit Sub img_has_not_pict: Resume ret End Sub
その他の回答 (1)
- xls88
- ベストアンサー率56% (669/1189)
こんな感じでどうでしょうか。 Dim ret As Variant On Error Resume Next ret = Me.Image1.Picture On Error GoTo 0 If ret = Empty Then MsgBox "空いてます!" End If
お礼
実装したいロジックでした。 とても助かりました ありがとうございました。