[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『画像の表示について』(しろ)
セル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.