• ベストアンサー

EXCEL2007-VBAフォーム上のイメージオブジェクトに図形が設定

EXCEL2007-VBAフォーム上のイメージオブジェクトに図形が設定されているかをチェックするには いつも親切な回答ありがとうございます。 VBAフォーム上のイメージに図形が設定されているかをチェックする方法を教えていただけないでしょうか イメージオブジェクトが5件あり、Shape図形が1,3,5番目に存在した場合 先頭のイメージオブジェクトから詰めて表示したいのですが、方法が分かりません。 どうぞ宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.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

Shiojiri9999
質問者

お礼

実装したいロジックでした。 とても助かりました ありがとうございました。

その他の回答 (1)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

こんな感じでどうでしょうか。 Dim ret As Variant On Error Resume Next ret = Me.Image1.Picture On Error GoTo 0 If ret = Empty Then MsgBox "空いてます!" End If

関連するQ&A

  • エクセル ユーザーフォームにオートシェープ(図形)を貼り付けるこは可能なのでしょうか?

    エクセル ユーザーフォームにオートシェープ(図形)を貼り付けるこは可能なのでしょうか? イメージで .jpgで図形をユーザーフォームに貼り付ける方法はわかるのですが、ユーザーフォームにオートシェープ(図形)を貼り付けるこは可能なのでしょうか? ご存知の方がいれば、その方法をお教えいただけないでしょうか。 よろしく、お願いいたします。

  • VBAのロジックでEXCEL上にShape図形があるかないかをチェック

    VBAのロジックでEXCEL上にShape図形があるかないかをチェックするには EXCEL2007-VBAを勉強中です。 EXCELシート上にShape図形があるかないかをチェックするには どのように書くのでしょうか どうぞ宜しくお願いします。

  • エクセルVBAの図形について

    図形を使用するVBAをはじめて作成中ですが、わからないことがありましたので質問します。 (1)オートシェイプに独自のプロパティーを設定したいのですが良い方法はありますか? (便宜上、NAMEプロパティーで代用しておりますが複数のプロパティを設定したいのです) (2)ONACTIONプロパティに設定しているマクロに対し、 どの図形から実行されたのか知りたいのですが、良い方法はありますか? (3)ある図形からコネクトされている別の図形を特定する方法はありますか? どれかひとつへの回答でもかまいませんので教えてください。

  • EXCEL2003でオブジェクトの削除方法

    WebページをコピーしEXCELワークシートにペーストをすると、図形とともにチェックボックスやテキストボックス等のオブジェクトも貼り付けられました。図形オブジェクトは削除できるのですがその他のオブジェクトの削除方法がわかりません。 ご存知のかたご教授お願いします。

  • ExcelVBA:フォーム2のイメージオブジェクト(画像付)をフォーム1のイメージオブジェクト(画像なし)に表示する方法

    ExcelVBAで、他のフォームのイメージオブジェクトを表示させる方法が分かりません。LoadPicture()を使ってみたのですが、ファイル名を入力しないとダメなのでできませんでした。 例えば、フォーム2の中に画像の付いたイメージオブジェクト「イメージ2」があったとします。 それを、フォーム1の、画像のないイメージオブジェクト「イメージ1」に表示させるにはどうすればよいのでしょうか? 回答よろしくお願いします。

  • Excel2007の図形の印刷方法

    Excel2007で矢印などの図形が印刷されません。 2007前までは書式設定に「オブジェクトを印刷する」と言うチェックボックスがあったのですが 2007になってからそういった項目が書式設定になくなってしまいました。 わかる方、教えてください。よろしくお願い致します。

  • VBA(Excel)でのグラフの取り扱い

    VBA(Excel)でのグラフを取り扱いたいのですが、 オブジェクトの関係が良く分からないので教えて下さい。 以下のオブジェクト Chart,ChartObject,Shape,ChartArea,DrawingObject,PlotArea の関係とそれぞれ何をさしているのか教えて下さい。

  • Excel2007、図形追加したら印刷できない

    Excel2007を使用しています。 PrintScreenでとった画像を貼付け、トリミングして、圧縮をかけた画像の上に、 オートシェイプ図形の矢印とテキストボックスを載せて、印刷をしたらプレビュー通りに印刷され、 その後、図形の円とテキストボックスを追加して上書き保存後、印刷すると、 画像だけが印刷され、図形(矢印と円とテキストボックス)が印刷されません。 プレビューには正しく表示されていて、 図形を「最前面へ移動」をクリックしても、 画像と図形をグループ化しても、 図形の「サイズとプロパティ/プロパティ/オブジェクトを印刷する」にチェックが入っていても、 ページ設定の「簡易印刷」にチェックがなくても、 印刷されません。 一度エクセルファイルを閉じて、また印刷かけても、図形は印刷されません。 どうしたらプレビュー通りに印刷されるようになりますか? 教えてください!!

  • Excel2007のVBAについて

    Excel2007のVBAについて Excel2007以前では「マクロの記録」を実行して罫線や図形の描写を行って、「記録終了」を行うと作業していたコードが記述され、それを加工したりして使っていましたが、Excel2007で同じように行ってもコードが記述されてませんでした。 セルの操作等はコードが記述されていました。 どこか、私の操作方法が間違っているのでしょうか。また2003のようにコードを記述させる方法が別途あるのでしょうか、よろしくお願いします。 関係ないとおもいますが、 「Excelのオプション」で「開発タブをリボンに表示する」はチェック入れてあります。 「マクロの設定」では「すべてのマクロを有効にする」にチェックしています。

  • クリップアートから挿入したオブジェクトに図形ツールバーの色ボタンが使えない

    Word2003 Excel2003です オートシェープを組み合わせて作った図形をクリップアートに登録して、Wordに取り込み、図ツールバーの色「ウオッシュアウト」を使いたいのですが適用できません。 なお、図形ツールバーの一部(回転、線の種類、図の圧縮、オブジェクトの書式設定)は使えます。 理由と対処方法を教えてください。

専門家に質問してみよう