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

VBA如何设置带动态变量的UNIQUE公式提取列表唯一值

VBA生成UNIQUE公式提取A列唯一值的修正方案

错误原因

原有代码核心问题是混用了R1C1引用规则与A1引用规则的写法,导致最终拼接出的公式语法非法,Excel无法正常解析。同时多余的Select操作会降低代码稳定性。

修正后代码

Dim lastRow As Long
With ActiveSheet
    ' 读取A列最后一行有数据的行号
    lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    ' 直接给B1单元格赋值动态数组公式,使用A1引用样式逻辑更清晰
    .Range("B1").Formula2 = "=UNIQUE(A1:A" & lastRow & ")"
End With

补充说明

  • 如果你坚持要使用R1C1引用样式写法,对应公式写法为:
    .Range("B1").Formula2R1C1 = "=UNIQUE(R1C1:R" & lastRow & "C1)"
    
  • 注意:UNIQUE是动态数组函数,仅支持Office 365、Office 2021及更高版本的Excel,低版本Excel需要改用字典遍历、高级筛选等方案实现唯一值提取

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:36:07