我有一个包含日期的数据验证列表。当您更改日期时,它会影响工作表其余部分中显示的数据。
我想创建 2 个命令按钮,
- “下一个” - 单击时将移动到列表中的下一个日期,当它到达列表末尾时,它会返回到列表的开头
- “上一个” - 单击时将移动到列表中的上一个日期,当它到达列表的开头时,它将转到列表的末尾
这可能吗?
我确实看过列表框和组合框,但对编码感到非常困惑!!!任何帮助都会很棒!
我有一个包含日期的数据验证列表。当您更改日期时,它会影响工作表其余部分中显示的数据。
我想创建 2 个命令按钮,
这可能吗?
我确实看过列表框和组合框,但对编码感到非常困惑!!!任何帮助都会很棒!
你必须区分3种情况:
情况 1 可能是最困难的,因为您只能在字符串中访问列表元素,并且必须将它们拆分为一个数组,获取当前选择的索引并使用两个按钮移动索引以获得想要的结果
情况 2 稍微简单一些,但您再次需要以某种方式跟踪定义日期范围内的当前位置
案例 3 可能是最容易实现的……但仍然需要一定的编码工作,例如
我向您建议第 4 种情况……使用 ActiveX 旋转按钮……它在一个元素中提供向上和向下功能:
代码
Private Sub SpinButton1_SpinDown()
If SpinButton1 = 0 Then
SpinButton1 = Range("DateList").Rows.Count
End If
End Sub
Private Sub SpinButton1_SpinUp()
If SpinButton1 = Range("DateList").Rows.Count + 1 Then
SpinButton1 = 1
End If
End Sub
=INDEX(DateList,DateIndex)
End If
:Selection = Range("DateList").Cells(SpinButton1, 1)