Получить правильный статус в текстовом поле на основе даты из другого текстового поля в пользовательской форме - PullRequest
0 голосов
/ 27 февраля 2019

Это моя первая публикация здесь, и я новичок в VBA.

Я пытаюсь добиться правильного статуса участника из списка из 3-х возможностей;Активен, истек или нет оплаты.Это основано на дате, введенной в другом текстовом поле с именем «Оплачено».Это 12-месячное членство, поэтому:

Если введенное или отображаемое значение даты в текстовом поле «Оплачено» <сегодняшняя, то текстовое поле «статус членства» регистрируется / отображается как «активное».Если текстовое поле «Оплачено» -> текущая дата, тогда текстовое поле «Статус членства» регистрируется / отображается как «просрочено».Если текстовое поле «Оплачено» не заполнено, то в текстовом поле «Статус членства» отображается / регистрируется «Платеж не выполнен».

2 текстовых поля являются частью таблицы БД в Excel, посредством чего «статус членства»»в столбце G, а« Оплачено »в столбце H.

Любая помощь будет принята с благодарностью.

Заранее спасибо

1 Ответ

0 голосов
/ 27 февраля 2019

Как насчет следующего: он проверит последнюю строку с данными в столбце A, а затем переместится из строки 2 к последним проверочным значениям в столбце H (оплачивается) и обновит столбец G (статус членства) до соответствующего значения:

Sub UpdateStatus()
Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("DB")
'declare and set the worksheet you are working with, amend as required
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
'get the last row with data on Column A

For i = 2 To LastRow
'loop from row 2 to last row
    If ws.Cells(i, "H").Value = "" Then ws.Cells(i, "G").Value = "No Payment Made"
    'if nothing under Paid On then "No Payment Made"
    If ws.Cells(i, "H").Value < Now() And ws.Cells(i, "H").Value <> "" Then ws.Cells(i, "G").Value = "Active"
    'if Paid On < Today then "Active"
    If ws.Cells(i, "H").Value > Now() Then ws.Cells(i, "G").Value = "Expired"
    'if Paid On > Today then "Expired"
Next i
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...