
いつもこのサイトを参考にさせていただいております。
QNo.1538992を参考に自分でも工程表を作成していましたが、
日付の開始日と終了日を判定して線を自動的に引くマクロの作成方法を教えて頂けませんでしょうか。
実際にはセルC4に日付を入力しD4は=C4+1,E4は=D4+1といったような感じで
3ヶ月の表を作成します。
縦軸のセルA欄には作業の開始日を、セルB欄には作業の終了日を入力します。
セルの横軸の日付を参照して△ーーーーーー○をオートシェイプで自動的に書きたいのです。
三角は開始、○は終了で、その間をオートシェイプの線で書きます。
できれば、作業の終了日を入力した段階で自動的に線を引ければありがたいのですが…。
以上、よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんなのは、出来合いのソフト(フリーやシェアウエアや製品)を使うべきと思います。
仕事用ソフトはVBAが自在にできないと、作成が難しいと思います。
質問者の場合経験はどれほどか判りませんが、相当聞きまくらないと
完成しないでしょう。次々と欲が出てきますし。
ーー
まあ言うだけなのもと思い、お遊び程度のサンプルを作ってみました。質問と趣旨が違う点はあると思いますが、これ以上は、複雑になったり、難しい知識が要ったり色々しますので。
Sub test1()
ActiveSheet.DrawingObjects.Delete
d = Range("a65536").End(xlUp).Row
'--
For i = 2 To d
ym = DateSerial(Year(Cells(i, "A")), Month(Cells(i, "A")), 1)
Cells(20, "X") = ym
f = Application.WorksheetFunction.Match(Range("X20"), Range("C1:N1"), 0) + 2
'MsgBox f
ym = DateSerial(Year(Cells(i, "B")), Month(Cells(i, "B")), 1)
Cells(20, "X") = ym
e = Application.WorksheetFunction.Match(Range("X20"), Range("C1:N1"), 0) + 2
' MsgBox e
l = Cells(i, f).Left + 5
t = Cells(i, "c").Top + Cells(i, "C").Height * 0.2
w = Cells(i, e).Left + Cells(i, e).Width - 10 - Cells(i, f).Left
H = Cells(i, "c").Height * 0.8
ActiveSheet.Shapes.AddShape(msoShapeRightArrow, l, t, w, H).Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
Next
End Sub
ーー
例データ A1:M5
開始日終了日06年12月07年1月07年2月
2006/12/12007/8/31
2007/3/122007/9/25 横方向にブロック矢印が表示される
2007/2/52007/5/30
2007/6/12007/6/30
上記でシート第1行06年12月は書式でこう見えているが、値はこの行は全て各月の1日の値(日付シリアル値)が入っている。
ーー
日付単位にしてないのが問題だろうとわかっていますがが、・・。
(X20セルは中間ワークのセルですが、小生変数でうまく行かなくて、逃げでとりあえず、これを使う羽目になったもの)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Excel(エクセル) エクセルの関数について 5 2023/01/26 15:26
- Excel(エクセル) Excelで行削除をすると… 1 2023/07/26 11:57
- Excel(エクセル) Excelシフト表 固定シフトの自動変換化 1 2022/04/14 16:10
- Visual Basic(VBA) VBAで自動集計(特定セルコピー月ごとに値貼り付け)したい。 6 2023/06/25 11:37
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelに入力した個々の日付の数...
-
日付だけを変更して印刷(Excel)
-
Excelで半年後の日付を計算したい
-
エクセルでENTERを押すと数式が...
-
入力後に日付順になるように自...
-
31:30:00が1900/1/1 7:30:0
-
エクセルで数字列の間に『/』を...
-
ファイルのオープン時に今日の...
-
Excelで8/26等の日付を全てその...
-
日付の照合でFALSEになります。
-
エクセル 当番表の作り方 エク...
-
WORDで翌日や翌々日の日付を表...
-
エクセル関数で日付かどうかの...
-
ワード差込について
-
エクセルで日付入力欄を作成し...
-
日付入力→指定のセルの色を塗り...
-
excel match で日付が見つからない
-
Excelで日付を4ケタで入力し、○...
-
エクセルの関数で入力した日付...
-
エクセルで1年後の月末を表示さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】A列にある、日付(本...
-
Excelに入力した個々の日付の数...
-
日付だけを変更して印刷(Excel)
-
Excelで半年後の日付を計算したい
-
エクセルでENTERを押すと数式が...
-
31:30:00が1900/1/1 7:30:0
-
入力後に日付順になるように自...
-
Excelで8/26等の日付を全てその...
-
エクセルで数字列の間に『/』を...
-
エクセル 当番表の作り方 エク...
-
エクセルで日付入力欄を作成し...
-
ファイルのオープン時に今日の...
-
エクセル関数で日付かどうかの...
-
エクセルで1年後の月末を表示さ...
-
EXCELで直近の日付を抽出する関数
-
エクセル グラフ 軸の日付表記...
-
excelで月末日を判定したい
-
WORDで翌日や翌々日の日付を表...
-
ワード差込について
-
日付の照合でFALSEになります。
おすすめ情報