Если дата = строка обновления сегодня, иначе, создайте новую строку - PullRequest
0 голосов
/ 09 ноября 2018

Я работаю над пользовательской формой, чтобы записывать счет в определенное время дня.

enter image description here

Я автоматически добавляю дату и день в первые два поля. Есть разные поля для одного дня недели по сравнению с другими, поэтому оператор if:

Private Sub UserForm_Initialize()
If Format(Date, "ddd") <> "Sat" Then
    DateWkd.Value = Format(Date, "mm/dd/yy")
    DayWkd.Value = Format(Date, "ddd")
Else
    DateSat.Value = Format(Date, "mm/dd")
    DaySat.Value = Format(Date, "ddd")
End If
End Sub

Данные будут отправляться в разное время дня.

Как узнать, совпадает ли значение дня последней строки с сегодняшним днем, чтобы обновить строку, или создать новую строку, если дата не совпадает?

1 Ответ

0 голосов
/ 09 ноября 2018

Напишу немного больше, так как комментарии не подходят для кода.

Как правило, вы должны соответствующим образом квалифицировать ссылки, поэтому в этом случае при использовании вашей пользовательской формы вам нужно будет указать лист / и т. Д.

Dim lr as Long, varDay as Long
varDay = 1  'assumes using ColumnA, but you could make this a Find() function if necessary
With Sheets("Data")
    lr = .Cells( .Rows.Count, varDay).End(xlUp).Row
    If DateTextBox.Value <> .Cells(lr,varDay).Value Then 'Not sure if you want just Date (todays' date, no time) or the value in your input for the comparison (gave arbitrary name for textbox example)
        'Do your thing
    End if
End With

Это будет в вашей командной кнопке для ввода данных, чтобы определить, куда они пойдут. Если вам нужно извлечь данные из листа при инициализации, вы должны установить textbox.value = .cell ссылки ... обратите внимание, что эти две ситуации находятся не в одном модуле.

...