vba 初心者です よろしくお願します 最短日最長日を求める Dim ma, mi As Date Dim Marow As Long With Sheets("シート名")

vba 初心者です よろしくお願します 最短日最長日を求める Dim ma, mi As Date Dim Marow As Long With Sheets("シート名") Marow= .Cells(Rows.Count, 7).End(xlUp).Row ma= Application.WorksheetFunction.Max _ (.Range(.Cells(6, 7), .Cells(6,Marow ))) mi = Application.WorksheetFunction.Min _ (.Range(.Cells(6, 7), .Cells(6, Marow))) MsgBox mi & ma 最短日= 1900/01/04 最長日 = シリアル値 44884⇀ 2020/9/10 正解 最短日 =2020/4/15 最長日 2020/10/20 このコードで思った値が得られなません 日付デターでなく文字データかと思いISNUMBER関数で調べても全てTrue 空白セルもありせん よろしくお願いします

プログラミング | Excel24閲覧xmlns="http://www.w3.org/2000/svg">250

ベストアンサー

1

範囲指定が間違っているような気がします。 Marow → G列最終行 (.Range(.Cells(6, 7), .Cells(6,Marow ))) Marow は行番号の指定に使用するのではないですか? G6~G列最終行までなら以下でどうでしょう? Sub test() Dim ma As Date, mi As Date Dim Marow As Long With Sheets("シート名") Marow = .Cells(Rows.Count, 7).End(xlUp).Row With .Range(.Cells(6, 7), .Cells(Marow, 7)) ma = WorksheetFunction.Max(.Cells) mi = WorksheetFunction.Min(.Cells) End With End With MsgBox mi & vbCrLf & ma End Sub

1人がナイス!しています

ThanksImg質問者からのお礼コメント

ありがとうごさいます チョット恥ずかしいです

お礼日時:9/20 10:11

その他の回答(2件)

1

最短日 最長日 って何の事ですか 最短日= 1900/01/04 最長日 = シリアル値 44884⇀ 2020/9/10 シリアル値44884は 2020/9/10ではなく 2022年11月19日ですが? 正解 最短日 =2020/4/15 最長日 2020/10/20 なぜ これが 正解なのですか?

1人がナイス!しています

0

Dim ma, mi As Date ↑の指定だと変数『ma』はVariant型、『mi』は日付時刻型 Dim ma As Date Dim mi As Date としてみては?