[[20091029170443]] 『画像の表示について』(しろ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『画像の表示について』(しろ)

 セルA1とB1にそれぞれ数字を入力すると
 数字の数だけ画像が表示されるようにしたいと思っています。

 例えばA1に1、B1に2と入力したとき
 A1用の画像が1枚、B1用の画像が2枚
 並んで表示されるといった感じです。

 A1の画像のすぐ横にB1の画像が表示されるということは
 Excelでできるのですか?
 良い方法があればご教授ください。宜しくお願いします。

 [Excel2000][WindowsXP]

 実状に合うかどうかは分かりませんが。。。

 A積み上げ横棒グラフを作成し
 データ要素の書式設定 → パターン → 塗りつぶし効果(I) の
 図 → 図の選択(L) で
 表示させたい画像を選択し
 形式で、拡大縮小と積み重ね を選び
 図の表す単位を 1 にする。

 同じように、B1の方も表示させたい図を選ぶ。

 後は、
 軸、グラフの大きさ、背景色 等を調整して
 それっぽくする。

 (HANA)

 一例ですが、

 当該シートのモジュールに

 '=========================================================================
 Option Explicit
 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ctarget As Range
    Dim mknum As Long
    Dim g0 As Long
    For Each ctarget In Target
       If ctarget.Row = 1 Then
          Call delete_star(Columns(ctarget.Column))
          For g0 = 1 To Val(ctarget.Value)
             Call mk_star(ctarget.Offset(g0, 0))
          Next
       End If
    Next
 End Sub
 '====================================================================================
 Function mk_star(rng As Range)
    Set mk_star = rng.Parent.Shapes.AddShape(msoShape5pointStar, _
                  rng.Left + 0.75, rng.Top + 0.75, rng.Width - 1.5, rng.Height - 1.5)
    mk_star.Fill.ForeColor.SchemeColor = 5
 End Function
 '=====================================================================================
 Sub delete_star(rng As Range)
    Dim shp As Shape
    For Each shp In rng.Parent.Shapes
       If ((Not Application.Intersect(rng, shp.BottomRightCell) Is Nothing) Or _
          (Not Application.Intersect(rng, shp.TopLeftCell) Is Nothing)) And _
             shp.Type = msoAutoShape And shp.AutoShapeType = msoShape5pointStar Then
          shp.Delete

       End If
    Next
 End Sub

 これで1行目のセル(A1,B1,C1,・・・・Z1等)に数字を入れてください。
 上記の例は、数字の数だけ下行に星が作成されます。
 形状は、セルの幅や高さを使って調節してください。

 ichinose


お二人様ありがとうございます。

何とか思うような形になりそうです。

(しろ)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.