![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
補足説明があるのかと思いましたが、補足は無さそうなのと添付図がよく見えないので、わからないところはかなり適当に想定しています。
・表中の日付はすべてシリアル値で、かつ、項目の右側の日付は左から昇順に並んでいるものと仮定。
・表のセル位置等が不明なので、勝手に想定。
・描く図形のサイズ等が不明なので、#1様の意見を取り入れさらに色も変えています。
※ 添付図は図に示される表に対して、以下のマクロを実行した例
Sub Sample()
Dim rw As Long, dCount As Long, i As Integer, j As Long
Dim dRange As Range
Dim color, dStart, dEnd
Dim cStart As Long, cEnd As Long
Dim rTop As Single, rHeight As Single
Dim ht As Single, hh As Single
Dim wl As Single, ww As Single
color = Array(RGB(230, 50, 80), RGB(20, 120, 230), RGB(0, 150, 120), RGB(200, 170, 30))
dCount = Cells(3, Columns.Count).End(xlToLeft).Column - 9
If dCount < 2 Then Exit Sub
Set dRange = Cells(3, 10).Resize(1, dCount)
For rw = 4 To Cells(Rows.Count, 1).End(xlUp).Row
rTop = Rows(rw).Top
rHeight = Rows(rw).Height
For i = 0 To 3
dStart = Cells(rw, i * 2 + 2).Value
dEnd = Cells(rw, i * 2 + 3).Value
If (VarType(dStart) <> vbDate) Or (VarType(dEnd) <> vbDate) Or _
(dStart > dRange(dCount).Value) Or (dEnd < dRange(1).Value) Or _
(dStart > dEnd) Then Exit For
For j = 1 To dCount
If dEnd >= dRange(j).Value Then cEnd = j
Next j
For j = dCount To 1 Step -1
If dStart <= dRange(j).Value Then cStart = j
Next j
ht = (i * 2 + 1) * rHeight / 10 + rTop
hh = rHeight / 5
wl = dRange(cStart).Left
ww = dRange(cEnd).Left + dRange(cEnd).Width - wl
With ActiveSheet.Shapes.AddShape(msoShapeRectangle, wl, ht, ww, hh)
.Fill.Visible = msoTrue
.Fill.ForeColor.RGB = color(i)
.Fill.Transparency = 0
.Fill.Solid
.Line.Visible = msoFalse
End With
Next i
Next rw
End Sub
![「指定した2つの日付セルの間に長方形の図形」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/1/587726_5a275311d862f/M.jpg)
No.1
- 回答日時:
もっと丁寧に説明しましょうよ。
4つの日付の間に4種類の図形って何ですか?
日付は行当たり8っつあるように見えるんですけど。
図形って自分で描いてるんだから、
どの図形をどう使ったのか、オーバーラップは
どう処理するのか、ちゃんと示しましょう。
そもそも太さをこのように変える意義って何ですか?
オーバーラップがあるなら高さをそれぞれ少しずつ
ずらせた直線にすれば重なりを
どうするかとかの考慮は必要ありません。
それに項目004かな?小さくてちゃんと読めないけど
それだけ開始日が5月って何?
どうしたいの?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/11 11:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PowerPointで台形を描く方法
-
pdf上に描画した図形が印刷され...
-
線を組み合わせた図形の塗りつ...
-
グーグルスプレッドシートの図...
-
AutoCADで渦巻きを描く方法
-
Illustratorでくくり括弧記号を...
-
Illustratorで白い部分のみを透...
-
図形でしずく型を作りたい
-
WORDで図に網掛けする方法は?
-
ワードかエクセルの図形を使っ...
-
Excel 条件を入れると図形を表...
-
エクセル ユーザーフォームに...
-
Excel のバージョンによって、...
-
Excel2003図-扇形を書く方法は...
-
Excel 図形へのハイパーリンク
-
エクセルで事務所のレイアウト...
-
エクセルで図形を連動させたい
-
図形とビットマップの違いは?
-
クリックしたらパネルがめくれ...
-
excel 図形 正弦波
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PowerPointで台形を描く方法
-
pdf上に描画した図形が印刷され...
-
線を組み合わせた図形の塗りつ...
-
グーグルスプレッドシートの図...
-
Excel のバージョンによって、...
-
AutoCADで渦巻きを描く方法
-
図形でしずく型を作りたい
-
Illustratorで白い部分のみを透...
-
Illustratorでくくり括弧記号を...
-
エクセルで図形を連動させたい
-
WORDで図に網掛けする方法は?
-
エクセル ユーザーフォームに...
-
ワードかエクセルの図形を使っ...
-
クリックしたらパネルがめくれ...
-
G.CREWの使い方
-
Excel2003図-扇形を書く方法は...
-
Excel 図形へのハイパーリンク
-
エクセルVBAで図形のテキストを...
-
Canvaの図形は、縦横比をキープ...
-
Jw-cad の図形リストが表示でき...
おすすめ情報