プロが教えるわが家の防犯対策術!

エクセルでガンチャートを作成しましたが、
矢印を自動で引くマクロで、日付日時の参照で、例えば、2018/9/25 0:00:00と設定しているセルは認識しなく矢印が引けなくなります
この原因がお解りなる方、いませんか?

質問者からの補足コメント

  • マクロの写真を貼り付けます

    すみません、コードが400文字以上になるため、投稿できません

    「エクセルでガンチャートを作成しましたが、」の補足画像1
      補足日時:2018/09/25 15:30
  • セルの写真画像を貼り付けます

    すみません、どうか、よろしくお願いします

    「エクセルでガンチャートを作成しましたが、」の補足画像2
      補足日時:2018/09/25 15:31
  •   補足日時:2018/09/25 16:07
  •   補足日時:2018/09/25 16:18
  • D列は開始時刻
    E列は終了時刻です

    F列からAJ列のセルには、日時が設定されています
    (例えば、2018/9/25 6:00:00)
    開始、終了時刻と同一のセル間に矢印が引かれます

    しかし、0:00:00ではセルの設定値が参照されず、マクロが止まります

      補足日時:2018/09/25 16:49

A 回答 (6件)

Findによる日付の検索はいろいろ問題があるようですね。


表示されているものをそのまま検索するように変えました。
Sub ガントチャート描画の代わりにSub ガントチャート描画2を使用してください。
Sub ガントチャート描画2からMyFindを呼び出すのでそれも登録してください。
--------------------------------------------
Sub ガントチャート描画2()
Dim c As Range
Dim org As Range
Dim dst As Range

For Each c In Range("D8:D20")
If c.Value <> "" Then
Call MyFind(c.Text, org)
Call MyFind(c.Offset(0, 1).Text, dst)

With ActiveSheet.Shapes.AddLine(org.Left + 0, _
c.Top + 7, dst.Left + 0, c.Top + 7).Line
.EndArrowheadStyle = msoArrowheadTriangle
.ForeColor.RGB = RGB(0, 0, 128)
.Weight = 3
End With
End If
Next
End Sub

Private Sub MyFind(ByVal src As String, ByRef rng As Range)
Dim r As Range
Set rng = Nothing
For Each r In Range("F5:AJ5")
If r.Text = src Then
Set rng = r
Exit Sub
End If
Next
End Sub
    • good
    • 1
この回答へのお礼

tatsu99様、ありがとうございました
助かりました、自分では、とても理解が及ばない領域でしたので、本当に感謝しています

お礼日時:2018/09/25 19:18

No5と同じ内容ですが、こちらにも張り付けておきました。


こちらはインデントが乱れていません。(このサイトは、投稿時、連続した空白を1つの空白に変換します)
https://ideone.com/KaGsQk
    • good
    • 1

すみません。


D列の内容(D5:D20)及び意味
E列の内容(E5:E20)及び意味
F5:AJ5の内容及び意味
について説明していただけませんでしょうか。
    • good
    • 0

>

https://ideone.com/BtunfXですか?
張り付けられていますが、24行までしかありません。(downloadして確認してみてください)
再度、マクロの全ての行を張り付けていただけませんでしょうか。
    • good
    • 0

補足ありがとうございました。



>すみません、コードが400文字以上になるため、投稿できません
それでしたら、こちらに投稿してください。
https://ideone.com/

投稿は、以下の手順で行います。
①言語でTextを選択します。(添付図の左側の赤線で囲んだところ)
②青線で囲んだところに張り付けます。(your text goes hereの文字があるのでそれを削除してから貼り付けます)
③Runをクリックします。(添付図の右側の赤線で囲んだところ)

そうすると、そのマクロが登録され、新しいURLが出現します。
そのURLをこちらに提示してください。
「エクセルでガンチャートを作成しましたが、」の回答画像2
    • good
    • 0

そのマクロを提示していただければ、回答がつくかも知れません。


あと、そのだめな日付の箇所の画像も提示していただければ、更に良いかと。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています