我在一系列允许用户从一组日期中进行选择的单元格上使用数据验证。日期基于另一个工作表,基本列为Today(),Today() - 1,Today() - 2等,一直到-28。这使下拉选择当前\动态。 虽然我希望做的是使单元格中的每个日期都大于先前的单元格日期,但我只知道如何使用列验证来完成此操作,而且我显然已经使用它来生成动态日期列表。 任何想法? 谢谢 Sample image of spreadsheet使用日期下拉菜单并进行列验证
0
A
回答
0
你不能这样做使用数据验证。但是,您可以使用VBA执行此操作。按Alt + F11激活VBA编辑器,然后双击要放置该验证的工作表,并在其中输入以下脚本。并保存你的Excel,那么你将有你的验证到位。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim OldValue As String
Dim NewValue As String
Dim PrevCell As String
Dim CurRow As Integer
Dim CurCol As Integer
On Error GoTo Exitsub
CurRow = Target.Row
CurCol = Target.Column
If CurRow = 1 Or CurCol = 1 Then GoTo Exitsub ' if current row not equal to row 1 or current column = 1, no need to validate
Application.EnableEvents = False
NewValue = Target.Value
Application.Undo
OldValue = Target.Value
Target.Value = NewValue
PrevCell = Cells(CurRow, CurCol - 1).Value
If Trim(NewValue) = "" Then GoTo Exitsub
If (PrevCell > NewValue) Then
MsgBox "Date is less than previous cell", vbCritical, "Error"
Target.Value = OldValue
GoTo Exitsub
End If
Exitsub:
Target.NumberFormat = "DD/MMM;@"
Application.EnableEvents = True
End Sub
您可能需要根据您的要求
If CurRow = 1 Or CurCol = 1 Then GoTo Exitsub
相关问题
- 1. 使用日期过滤下拉菜单到下拉菜单
- 2. 使用Javascript验证HTML下拉菜单?
- 3. Jquery下拉菜单验证
- 4. 验证下拉菜单
- 5. 验证下拉菜单JavaScript
- 6. Jquery下拉日期验证
- 7. 下拉菜单日期
- 8. JavaScript验证日期依赖的下拉菜单
- 9. 使用Angular Js进行下拉验证
- 10. 使用javascript进行日期验证
- 11. 使用日期过滤所有下拉菜单到下拉菜单
- 12. 验证输入和下拉菜单
- 13. JSF selectOneMenu:验证两个下拉菜单
- 14. 验证在PHP为下拉菜单
- 15. 如何验证多选下拉菜单?
- 16. 爪哇脚本下拉菜单验证
- 17. 验证下拉菜单中的PHP
- 18. 使用ASP.NET验证器进行日期验证
- 19. 使用验证控件对日期进行验证?在Asp.net中?
- 20. 使用ASP.NET验证器进行日期验证
- 21. 如何在使用jQuery的表单中验证下拉菜单?
- 22. 使用jquery进行日期验证,防止输入yeterdays日期。
- 23. JavaScript日期对象的下拉菜单?
- 24. 使用下拉菜单进行更新阵列轨道
- 25. PHP - 使用下拉菜单对列表进行排序
- 26. 从下拉框中检索并验证日期javascript
- 27. 如何使用JavaScript验证GridView内的下拉菜单
- 28. 使用Ajax验证动态下拉菜单
- 29. 如何使用selenium webdriver从下拉菜单中选择日期?
- 30. 出生日期使用ng选项下拉菜单
请出示样品擅长改变以下语句中的行数和列。 – Karpak
Karpak - 截图够了吗? – JazzyN
是的,它应该是足够的 – Karpak