#excel #vba
#excel #vba
Вопрос:
В настоящее время я запускаю очень простой фрагмент кода vba, который запускает простую if
формулу, которая проверяет, соответствуют ли продажи, которые я совершил, определенной дате. как показано ниже…
sub date
lastrow1 = Sheets("Tracker").cells.Find("*", cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row
Sheets(1).Activate
With Sheets(1)
.Range("BG2:BG" amp; lastrow1).FormulaR1C1 = "=IF(RC[-18]>DATE(2020,1,1),""Yes"",""No"")"
End With
end sub
Это работает нормально, но, поскольку возвращаться к коду и изменять дату в круглых скобках довольно утомительно (например, в данном случае (20,1,1)) каждый раз, когда я хочу изменить дату, я хочу создать небольшое поле ввода, которое позволит мне автоматически обновлять дату. Однако, похоже, я не могу заставить его работать, кто-нибудь может помочь мне на правильном пути. Спасибо.
sub dateinput
lastrow1 = Sheets("Tracker").cells.Find("*", cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row
Dim InputDate As String, dte As Date
Sheets(1).Activate
InputDate = Application.InputBox("Format yyyy,m,dd", Title:="Please Select Date", Type:=2)
If IsDate(InputDate) Then
Range("BG2:BG" amp; lastrow1).FormulaR1C1 = "=IF(RC[-18]>Date(InputDate),""Yes"",""No"")"
Else
MsgBox ("Date not valid")
End If
With Sheets(1)
.Range("BG2:BG" amp; lastrow1).FormulaR1C1 = "=IF(RC[-18]>DATE(2020,1,1),""Yes"",""No"")"
End With
end sub
Комментарии:
1. Вы можете использовать ячейку с проверкой данных для управления вводом, а затем использовать ее в своей формуле в качестве постоянной ссылки.
2. да, я так понимаю, это можно сделать с помощью поля ввода? это более чистый способ сделать это
3. Для меня добавление ссылки на ячейку в формулу намного чище, чем
InputBox
то, что вы уже заметили, будет более запутанным. Если вы хотите управлять этим, вам нужно создать пользовательскую форму с контролем даты.4. трекер, который я использую, постоянно обновляется среди моих сотрудников — я просто не большой поклонник идеи ссылки на ячейки. я бы не знал, как создать пользовательскую форму @shrivallabha.redij