Как получить данные из UserForm, используя If-ElseIf в функции For? - PullRequest
0 голосов
/ 02 мая 2020

В моей пользовательской форме у меня есть эти данные:

DateBox1: 1/5/2020 | s1hh: 2 | s1mm: 0 | s1ampm: AM

DateBox6: 3/5/2020 | e1hh: 2 | e1mm: 0 | e1ampm: AM

Другими словами, это 1/5/2020 2:00 AM до 3/5/2020 2:00 AM.

Мне нужно отделять эти данные изо дня в день в моей рабочей таблице. Итак, моя цель выглядит следующим образом:

ColumnB | Колонка C | ColumnD | Колонка E

1 мая-20 | 1 мая 20 | 2: 00 AM | 23:59

2 мая-20 | 2 мая 20 | 12:00 | 23:59

3 мая-20 | 3-мая-20 | 12:00 | 2: 00 AM

Мне удалось получить часть даты (Col B и Col C), но я получаю 12:00 - 23:59 для всех даты, указанные в моем коде, показаны ниже:

    Dim a As Integer, i As Integer
a = DateDiff("d", DateBox1.Value, DateBox6.Value, vbSunday)

If a > 0 Then
    For i = 0 To a
        Lr = Sheets("Database").Cells(Rows.Count, "A").End(xlUp).Row
        SummarySheet.Range("A" & Lr + 1).Formula = "=Now()" 'posting date
        SummarySheet.Range("B" & Lr + 1).Value = Format(DateAdd("d", i, DateBox1.Value), "dd-Mmm-yy") 'date start
        SummarySheet.Range("C" & Lr + 1).Value = Format(DateAdd("d", i, DateBox1.Value), "dd-Mmm-yy") 'date end
        If SummarySheet.Range("B" & Lr + 1).Value = Format(DateBox1.Value, "dd-Mmm-yy") Then
            SummarySheet.Range("D" & Lr + 1).Value = s1hh.Value & ":" & s1mm.Value & " " & s1ampm.Value 'start hour
            SummarySheet.Range("E" & Lr + 1).Value = "11:59 PM" 'end hour
        ElseIf SummarySheet.Range("B" & Lr + 1).Value = Format(DateBox6.Value, "dd-Mmm-yy") Then
            SummarySheet.Range("D" & Lr + 1).Value = "12:00 AM" 'start hour
            SummarySheet.Range("E" & Lr + 1).Value = e1hh.Value & ":" & e1mm.Value & " " & e1ampm.Value 'end hour
        Else
            SummarySheet.Range("D" & Lr + 1).Value = "12:00 AM"
            SummarySheet.Range("E" & Lr + 1).Value = "11:59 PM"
        End If
    Next i
End If

Итак, что касается моего вопроса, могу ли я настроить выражение If-Elseif для этих целей? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...