[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『商品の進捗をオートシェイプの矢印で表示させたい。』(なお)
お知恵を拝借したいです。現在、商品の進捗をVBAを使いオートシェイプを使い表示させようとしてますが、どうしてもできません。
どなたかご教授して頂けませんか?
A B C D E F G H i j
1 2015 3月
2 商品 担当 依頼日 仕上日 1日 2日 3日 4日
3 aaaa あああ 3/1 3/3 → → → →→ →
4 bbb いいい 3/2 3/3 → →→ →
5 ccc ううう 3/3 3/4 → →→ →
上記のように作成しています。
どなたか力を貸してください。
< 使用 Excel:Excel2007、使用 OS:WindowsVista >
(マナ) 2015/03/01(日) 20:15
すみませんが宜しくお願いします。
(なお) 2015/03/01(日) 20:31
(マナ) 2015/03/01(日) 20:54
マクロ案はマナさんにお任せして、数式案です。
A1 2015 B1 3 書式 0"月" E2:AI2 1〜31 書式 0"日"
E3 =IF(AND(DATE($A$1,$B$1,E$2)>=$C3,DATE($A$1,$B$1,E$2)<=$D3),"➡","") をE3:AI5 にコピーし、 上記範囲のフォントサイズを大きくしてセンタリングで文字色を好きな色に設定。 (Mook) 2015/03/01(日) 20:56
数式案ありがとうございます。
(なお) 2015/03/01(日) 21:33
Sub test() Dim s As Shape Dim i As Long Dim 開始セル As Range Dim 終了セル As Range Dim 左端 As Single Dim 上端 As Single Dim 幅 As Single Dim 高さ As Single
With ActiveSheet For Each s In .Shapes If s.AutoShapeType = msoShapeRightArrow Then s.Delete Next
For i = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row Set 開始セル = .Cells(i, 4 + Day(.Cells(i, 3).Value)) Set 終了セル = .Cells(i, 4 + Day(.Cells(i, 4).Value))
左端 = 開始セル.Left 上端 = 開始セル.Top + 開始セル.Height * 0.2 幅 = 終了セル.Left + 終了セル.Width - 左端 高さ = 開始セル.Height * 0.6
.Shapes.AddShape msoShapeRightArrow, 左端, 上端, 幅, 高さ
Next End With
End Sub
(マナ) 2015/03/01(日) 21:43
Sub test() Dim s As Shape Dim i As Long Dim 開始セル As Range Dim 終了セル As Range Dim 左端 As Single Dim 上端 As Single Dim 幅 As Single Dim 高さ As Single
With ActiveSheet For Each s In .Shapes If s.AutoShapeType = msoShapeRightArrow Then s.Delete Next
For i = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(i, 4).Value <> "" Then Set 開始セル = .Cells(i, 4 + Day(.Cells(i, 3).Value)) Set 終了セル = .Cells(i, 4 + Day(.Cells(i, 4).Value))
左端 = 開始セル.Left 上端 = 開始セル.Top + 開始セル.Height * 0.2 幅 = 終了セル.Left + 終了セル.Width - 左端 高さ = 開始セル.Height * 0.6
.Shapes.AddShape msoShapeRightArrow, 左端, 上端, 幅, 高さ
Set 開始セル = Nothing Set 終了セル = Nothing End If Next End With End Sub
(マナ) 2015/03/01(日) 22:28
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.