• ベストアンサー

オリジナルで計画表を作成なのですが・・EXCEL

過去の同じような質問を見て作成しようと試みましたが実力不足のようです。教えてください。 EXCEL VBAで開始日から終了日までの期間のセルへ矢印オブジェクトを引きたいです。 ループして空白行へ着いたらエンドです。また、期間の起点となる日((NOW関数))から横へ +1しています。説明不足ですがご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です。 補足の >実際は途中にも空白のセルがありそのときは矢印なしで次の行へいきたいです というコトはC・D列に空白セルがある場合は無視したい!というコトですかね? 一応そういうコトだとして・・・ もう一度コードを載せてみます。 Sub Sample2() Dim i As Long, startCol As Long, endCol As Long, c As Range, r As Range ActiveSheet.Lines.Delete For i = 5 To Cells(Rows.Count, "C").End(xlUp).Row If WorksheetFunction.CountBlank(Cells(i, "C").Resize(, 2)) = 0 Then '←この行追加(C・D列に空白セルがなければ) startCol = WorksheetFunction.Match(Cells(i, "C"), Rows(3), False) endCol = WorksheetFunction.Match(Cells(i, "D"), Rows(3), False) Set c = Cells(i, startCol) Set r = Cells(i, endCol) With ActiveSheet.Shapes.AddLine(c.Left, c.Top + c.Height / 2, r.Left + r.Width, r.Top + r.Height / 2).Line .ForeColor.RGB = vbBlack .Weight = 0.7 .EndArrowheadStyle = msoArrowheadTriangle .EndArrowheadLength = msoArrowheadLong End With End If '←この行追加 Next i End Sub こういった感じでしょうか?m(_ _)m

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! >期間の起点となる日((NOW関数))から横へ >+1しています なぜE3セルが2月1日になるのか疑問ですが、それは無視して・・・ とりあえずC・D列に入力するシリアル値は3行目に必ずあるとします。 Sub Sample1() Dim i As Long, startCol As Long, endCol As Long, c As Range, r As Range ActiveSheet.Lines.Delete For i = 5 To Cells(Rows.Count, "C").End(xlUp).Row startCol = WorksheetFunction.Match(Cells(i, "C"), Rows(3), False) endCol = WorksheetFunction.Match(Cells(i, "D"), Rows(3), False) Set c = Cells(i, startCol) Set r = Cells(i, endCol) With ActiveSheet.Shapes.AddLine(c.Left, c.Top + c.Height / 2, r.Left + r.Width, r.Top + r.Height / 2).Line .ForeColor.RGB = vbBlack .Weight = 0.7 .EndArrowheadStyle = msoArrowheadTriangle .EndArrowheadLength = msoArrowheadLong End With Next i End Sub こんな感じではどうでしょうか?m(_ _)m

nirizo
質問者

補足

できました。ありがとうございます。すごいっす。 ただ、よくばりなもので次の問題がでました。空白のセルまでいったら終了としたのですが。。実際は途中にも空白のセルがありそのときは矢印なしで次の行へいきたいです。矢印を引きたいのは100行程度です。 助けてください。すみません。

関連するQ&A