You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel创建无重复授权值列表并在VBA中获取选中日期

动态生成无重复日期列表(自动更新)

首先,假设你的日期数据在A列(表头是A1的Date,日期从A2开始),可以用Excel的动态数组公式实现自动更新的无重复日期列表:

在你想要显示结果的单元格(比如C1)输入公式:

=UNIQUE(FILTER(A:A, A:A<>"Date", A:A<>""))
  • FILTER(A:A, A:A<>"Date", A:A<>""):筛选出A列中不是表头Date且不为空的所有日期单元格;
  • UNIQUE():对筛选后的结果去重,生成无重复的日期列表;
  • 这个公式是动态数组,当你在原列表中新增行(添加新日期)时,结果列表会自动更新,不需要手动刷新。

注意:这个公式需要Excel 365或Excel 2021及以上版本支持动态数组。如果是旧版Excel,可以用INDEX+MATCH的组合公式实现去重,但无法自动更新,需要手动刷新或结合VBA。

VBA保存选中日期到变量

下面提供两种VBA方案,分别对应选中单个日期和多个日期的场景:

场景1:选中单个日期单元格

Sub SaveSingleSelectedDate()
    Dim selectedDate As Date
    
    ' 检查是否只选中了一个单元格
    If Selection.Cells.Count = 1 Then
        ' 验证选中内容是否为日期格式
        If IsDate(Selection.Value) Then
            selectedDate = Selection.Value
            ' 这里可以添加你后续需要执行的操作,比如打印变量值确认
            MsgBox "选中的日期已保存到变量:" & Format(selectedDate, "dd/mm/yy")
        Else
            MsgBox "请选中一个有效的日期单元格!"
        End If
    Else
        MsgBox "请选中单个日期单元格!"
    End If
End Sub

场景2:选中多个日期单元格

如果需要一次性保存多个选中的日期到数组变量,可以用这段代码:

Sub SaveMultipleSelectedDates()
    Dim selectedDates() As Date
    Dim cell As Range
    Dim dateCount As Integer
    
    dateCount = 0
    ' 先初始化数组大小为选中单元格的数量
    ReDim selectedDates(1 To Selection.Cells.Count)
    
    ' 遍历选中的每个单元格,筛选日期并保存
    For Each cell In Selection
        If IsDate(cell.Value) Then
            dateCount = dateCount + 1
            selectedDates(dateCount) = cell.Value
        End If
    Next cell
    
    ' 调整数组大小到实际保存的日期数量
    ReDim Preserve selectedDates(1 To dateCount)
    
    ' 示例:提示保存结果
    If dateCount > 0 Then
        MsgBox "成功保存" & dateCount & "个日期,第一个日期是:" & Format(selectedDates(1), "dd/mm/yy")
    Else
        MsgBox "未选中任何有效的日期单元格!"
    End If
End Sub

使用方法:

  1. 按下Alt + F11打开VBA编辑器;
  2. 右键点击你的工作簿,选择「插入」→「模块」;
  3. 将上面的代码粘贴到模块中;
  4. 回到Excel界面,选中日期单元格,按下Alt + F8选择对应的宏并运行。

内容的提问来源于stack exchange,提问作者Hich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:38:22