Пожалуйста, спросите еще раз, есть ли что-то в коде, который вы не понимаете.

я проблема с запуском моего кода, потому чтоRange.Value отличается отRange.NumberFormat, Например, мое значение - это дата и время, и я хотел бы проверить день недели. Мне удалось получить формат числа Sun-Sat, однако я не уверен, как проверить его с помощьюCountIf.

Dim rep         as Worksheet
Dim day         As Range
Dim time        As Range
Dim wf          As WorksheetFunction
Set rep = Worksheets("Report")
Set day = rep.Range("H1", rep.Range("H1").End(xlDown))
Set time = rep.Range("I1", rep.Range("I1").End(xlDown))
Set wf = WorksheetFunction

With rep
    .Columns("H").NumberFormat = "dddd"
    .Columns("I").NumberFormat = "AM/PM"

    .Range("K1") = "Monday"
    .Range("K2") = "Tuesday"
    .Range("K3") = "Wednesday"
    .Range("K4") = "Thursday"
    .Range("K5") = "Friday"
    .Range("K6") = "Saturday"
    .Range("K7") = "Sunday"

    .Range("M1") = "AM"
    .Range("M2") = "PM"

        .Range("L1") = wf.CountIf(day, "Monday")
        .Range("L2") = wf.CountIf(day, "Tuesday")
        .Range("L3") = wf.CountIf(day, "Wednesday")
        .Range("L4") = wf.CountIf(day, "Thursday")
        .Range("L5") = wf.CountIf(day, "Friday")
        .Range("L6") = wf.CountIf(day, "Saturday")
        .Range("L7") = wf.CountIf(day, "Sunday")

    .Range("N1") = wf.CountIf(time, "AM")
    .Range("N2") = wf.CountIf(time, "PM")
End With

Это то, что я пока имею, но выводит только 0 для решенияcountif, Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос