• ベストアンサー

EXCELで使用している画像やボタンの一覧を作りたい

エクセル2000です。 シートの中で使用した画像やボタンなどのshapeがかなりあります。中にはVBAで非表示にしているのもあります。 ありすぎてわけがわからなくなってきました。 そこでこれまで使用してシートに張り付いているshapeの名前や表示/非表示の別を別なシートに一覧表を作るVBAを書こうと思いましたがうまく行きません。 お助けください。

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

  • ベストアンサー
回答No.2

こんなんでどうでしょう? Shapeが貼りついているのがSheet1としてSheet2のA列に名前、B列に「表示」か「非表示」の一覧表を出力します。 Sub test1() Dim Myshape As Shape n = 1 For Each Myshape In Sheets("Sheet1").Shapes Sheets("Sheet2").Cells(n, "A").Value = Myshape.Name If Myshape.Visible = True Then Sheets("Sheet2").Cells(n, "B").Value = "表示" Else Sheets("Sheet2").Cells(n, "B").Value = "非表示" End If n = n + 1 Next End Sub

error123
質問者

お礼

ありがとうございました。 For Each ~ Next だとは思ったのですがうまくまとめられませんでした。 たすかりました。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

どこが上手く行かないのでしょう? うまく行かない部分を提示しては? Sub test() Dim ws As Worksheet, tws As Worksheet Dim i As Long, sh As Shape  Set tws = ActiveSheet  Set ws = Worksheets.Add  cnt = 1   For Each sh In tws.Shapes     ws.Range("A" & cnt) = sh.Name     ws.Range("B" & cnt) = sh.Visible     ws.Range("C" & cnt) = sh.TopLeftCell.Address     ws.Range("D" & cnt) = sh.AutoShapeType     ws.Range("E" & cnt) = TypeName(sh)     cnt = cnt + 1   Next sh End Sub

error123
質問者

お礼

ありがとうございました。 For Each ~ Next だとは思ったのですがうまくまとめられませんでした。 たすかりました。

関連するQ&A

  • エクセルの自動転記について

    エクセル2003です。 行動予定一覧表を作成中です。 シート1に一覧表 シート2には日付別になっており、 その日付別のを一覧表に自動転記させたいと思っています。 画像をご覧になっていただくのが解りやすいと思うのですが、 項目は、一覧表も日付別も同じものです。 ただ、一覧表にはシート2では欄がなかった日付を加えたいのですが、 これも計算式にて表示出来たらと思っています。 一覧表には、日付別シートの表の中で空欄の場合は、転記されないようにしたいのですが、 可能でしょうか? VBAは苦手なので、出来れば計算式で乗り切りたいと思っています。 何かいい案等があれば教えていただきたいです。 よろしくお願いします。

  • Excel ボタンを押下して表に 画像付き

    お世話になりますm(_ _)m 。 画像が小さすぎたため、やり直しの質問です。 Excel2007を使用しています。 同bookでシートから値を別シートに表示する方法が分かりません。 画像の通り、 "入力シート"で 日付が表示されています。 2013年12月2日になっています。 ABCDEFGHに値を入力。 "ボタン2"を押下すると "日々の変化シート"の2日の欄にABCDEFGHが順番に入ります。 "入力シート"の日付が変われば、 "日々の変化シート"もそれに準じて、入力欄が変わって行きます。 VBAは、昔accessで本を見ながらほんの少し触った程度です。 よろしくお願いします(⌒ ⌒)(_ _)。

  • EXCELのShape画像をVBAのフォームに表示するには

    EXCELのShape画像をVBAのフォームに表示するには はじめまして EXCEL2007-VBAを勉強中です。 EXCELのShape画像をVBAのフォームへ表示したいのですが、どのように書けば よろしいのでしょうか

  • WORD,EXCELの属性値を一覧したい

    OFFICE2000を使用しています。 WORDやEXCELファイルの属性をプロパティシートで「カスタム」の中に自由に「名前」をつけて「値」を記憶させることができますが、これをエクスプローラーなどで一覧表示し、並べるにはどうすればよいでしょうか? winXPで画像ファイルを「詳細」表示で並べた時の様に属性を表示できれば良いのですが・・・。 エクスプローラーでなくても、属性値を一覧できれば良いのです。

  • エクセルで出来ますか?

    エクセルで12枚のシートに同じ表が1つずつ作ってあります。表の中は文字のセルも数式のセルもあります。各シートの同じセルにあるものを選び出して、別の新しいシートにある表の指定した部分に貼り付けたいのです。要するにシート間の串刺しをして別のところに貼り付けたいわけです。例を書きます。 元の表というのは例えば、「シート1はAさんのデータで名前、住所などが入力してある。シート2はBさん、シート3はCさん・・・」で、名前だけの一覧表を新しいシートに作る、ということがしたいのです。質問の意味わかっていただけましたでしょうか?よろしくおねがいします。

  • 任意のフォルダ内のフォルダ名一覧を作成できるエクセルでできたフリーソフト教えてください

    よろしくお願いします。 利用したい目的は、ソフトなどProgramfilesの中に何があるか把握したいという目的です。ProgramFilesのフォルダにあるフォルダをエクセルシートの一覧にして、いわばProgramFilesの蔵書管理のようなイメージの表を作りたいと思っています。 要望としては、 ・エクセルVBAでできたものであること ・シートに一覧で表示できること です。ご存知の方教えてください。よろしくお願いします。

  • エクセル ツールバーからの呼び出しマクロのシート非表示 

    他部署から受け取った一覧表の内容をチェックするエクセルマクロをツールバーのボタンに割り当てていますが、一覧表を開いておいてボタンを押すとマクロを組み込んだエクセルシート(VBA上でのThisWorkbook.Sheet)が表示されるようになりました。以前は一覧表の裏に隠れていたはずなんですが、目障りなのでこのシートを表示しない方法を教えてください。複数体制なので共有ドライブに置いたエクセルマクロを各自が自分のツールバーに組み込んで使っています。 (アドインでは修正発生時に各自が再度取り込む必要があると思って避けています)

  • エクセル オプションボタン 2>1セル

    Excel 2003 です。     お詳しい方だと簡単と思うのですが・・・オートシェープでボタンらしい物を選び、オプションボタンとして使いたいのですが、その後どうやって動作させたらいいかわかりません。  ・オートシェープで作ったボタンを二つ(それぞれ東日本50Hz、西日本60Hzと表示)シートのどこかに配置  ・どちらかをクリックする  ・ひとつのセル(例えばA10)にクリックしたボタンの値  例 (東日本クリック>A10に 50) (西日本クリック>A10に 60) が入力される  といったものです。  なるべく簡単なマクロかVBAだといいのですが・・・  よろしくお願いいたします。 _(__)_   

  • エクセル オプションボタン 2>1セル

    Excel 2003 です。     お詳しい方だと簡単と思うのですが・・・オートシェープでボタンらしい物を選び、オプションボタンとして使いたいのですが、その後どうやって動作させたらいいかわかりません。  ・オートシェープで作ったボタンを二つ(それぞれ東日本50Hz、西日本60Hzと表示)シートのどこかに配置  ・どちらかをクリックする  ・ひとつのセル(例えばA10)にクリックしたボタンの値  例 (東日本クリック>A10に 50) (西日本クリック>A10に 60) が入力される  といったものです。  なるべく簡単なマクロかVBAだといいのですが・・・  よろしくお願いいたします。 _(__)_   

  • Excel ボタンを押下して表に

    お世話になりますm(_ _)m 。 Excel2007を使用しています。 同bookでシートから値を別シートに表示する方法が分かりません。 画像の通り、 "入力シート"で 日付が表示されています。 2013年12月18日になっています。 ABCDEFGHに値を入力。 "ボタン2"を押下すると "日々の変化シート"の18日の欄にABCDEFGHが順番に入ります。 "入力シート"の日付が変われば、 "日々の変化シート"もそれに準じて、入力欄が変わって行きます。 VBAは、昔accessで本を見ながらほんの少し触った程度です。 よろしくお願いします(⌒ ⌒)(_ _)。

専門家に質問してみよう