エクセル(VBAプログラム)について質問です。


エクセル上にある画像を全て選択するプログラムを作成できるかた

おりましたらよろしくお願いいたします。

その後の処理として

図の書式設定 → プロパティ → セルにあわせて移動やサイズ変更をする。

の設定をしたいのですがこの一連の流れをプログラムで全て処理出来る方おりましたらよろしくお願いいたします。
(無理な場合はエクセル上にある画像を全て選択する処理だけでかまいません。)

お手数をおかけしますがよろしくお願いいたします。



回答の条件
  • 1人2回まで
  • 登録:2008/11/15 18:38:43
  • 終了:2008/11/15 22:18:50

ベストアンサー

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692008/11/15 19:51:53

ポイント100pt
Sub picSelect()
    '画像を選択する
    Dim ob As Shape
    Dim st() As Variant
    Dim i As Integer
    i = 0
    For Each ob In ActiveSheet.Shapes
        If ob.Type = msoPicture Then
            ReDim Preserve st(i)
            st(i) = ob.Name
            i = i + 1
        End If
    Next ob
    ActiveSheet.Shapes.Range(st).Select
    
    'セルにあわせて移動やサイズ変更をする。
    Selection.Placement = xlMoveAndSize
End Sub

なんか昔似たようなものを作った記憶があると思ったら。

http://q.hatena.ne.jp/1174664828

id:aiomock

ご回答ありがとうございます。

2008/11/15 22:18:14

その他の回答(2件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692008/11/15 19:51:53ここでベストアンサー

ポイント100pt
Sub picSelect()
    '画像を選択する
    Dim ob As Shape
    Dim st() As Variant
    Dim i As Integer
    i = 0
    For Each ob In ActiveSheet.Shapes
        If ob.Type = msoPicture Then
            ReDim Preserve st(i)
            st(i) = ob.Name
            i = i + 1
        End If
    Next ob
    ActiveSheet.Shapes.Range(st).Select
    
    'セルにあわせて移動やサイズ変更をする。
    Selection.Placement = xlMoveAndSize
End Sub

なんか昔似たようなものを作った記憶があると思ったら。

http://q.hatena.ne.jp/1174664828

id:aiomock

ご回答ありがとうございます。

2008/11/15 22:18:14
id:vbanboo No.2

banboo回答回数34ベストアンサー獲得回数52008/11/15 20:24:37

ポイント50pt

マクロでの実現は難しくて私にはわかりませんが、普段自分ならどうするか紹介します。

まず、Excel2003での方法

・CTRLキーを押しながらマウスのホイールを下に回して、エクセルシート全体を縮小表示させます。

 マウスホイールがなければ、メニューから<表示>-<ズーム>で25%やそれ以下

 とにかく絵が小さすぎて見えなくなろうが絵が含まれるシート全部が表示できる倍率を選びます。

・<表示>-<ツールバー>で図形描画がチェックされていると表示されているのですが、

 そのツールバーの中に、オブジェクト選択用のマウスカーソルのようなアイコンがあります。

・そのアイコンをクリックすると、マウスカーソルがエクセルのセル上でも矢印のままになりますので

 一気に画面の左上から右下まで図面をまるごと囲んで下さい。左上隅にぴたっと図面を配置していると

 選択しにくいので私はいつも右下隅の何もデータのない領域から一気に左上の覆うように図を全選択します。

あとは適当に図の上で右クリックすればプロパティで調整できます。

Excel2007はちょっと場所がわかりにくいです。

標準では、<ホーム>-<検索と選択>-<オブジェクトの選択>でマウスカーソルが矢印に変わります。

選択時、セルも反転しますが図形だけのプロパティを変更できます。

また、追加機能として、すぐ下に<オブジェクトの選択と表示>というのがありこれを選ぶと画面右側に

図形の一覧が表示されます。全選択の場合、どれかひとつの図形を選択した後に、CTRL+Aを押すと全部

選べます。SHIFTキーは併用できないので、30の図形から上の10だけマウスでドラッグして囲んで選ぶ

ということができません。それは上記オブジェクトの選択が便利です。

Excel2007のほうもマクロでの実現方法はわかりませんので、第一要望は満たせませんけど。

id:aiomock

ご回答ありがとうございます。

2008/11/15 22:17:59
id:taknt No.3

きゃづみぃ回答回数13539ベストアンサー獲得回数11982008/11/15 21:38:53

ポイント60pt

最初の一行がすべての図形を選択です。

ActiveSheet.Shapes.SelectAll
With Selection
     .Placement = xlMoveAndSize
     .PrintObject = True
End With
id:aiomock

ご回答ありがとうございます。

2008/11/15 22:18:02

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません