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

如何修改VBA代码将提取的唯一姓名逐行填充至D列?

解决方法

直接调整现有代码,通过遍历字典的键,将唯一姓名逐个写入D列的单元格即可,以下是修改后的完整代码:

Sub Unique_Values()
    Dim mySheet As Range
    Dim cell As Range
    Dim dict As Object
    Dim key As Variant
    Dim rowNum As Integer
    
    ' 正确赋值对象型变量,必须加Set
    Set mySheet = Sheets("Sheet1").Range("E9:I20")
    Set dict = CreateObject("scripting.dictionary")
    
    ' 遍历数据区域,存入字典去重,同时跳过空单元格
    For Each cell In mySheet
        If cell.Value <> "" Then
            dict(cell.Value) = ""
        End If
    Next
    
    ' 从D2开始,逐个写入唯一姓名
    rowNum = 2
    For Each key In dict.keys
        Sheets("Sheet1").Range("D" & rowNum).Value = key
        rowNum = rowNum + 1
    Next
End Sub

关键调整说明

  • 原代码中mySheet赋值缺少Set,对象型变量赋值必须使用Set,否则会触发错误。
  • 新增空单元格判断,避免字典存入无效的空值。
  • 通过For Each key In dict.keys遍历所有唯一姓名,用rowNum控制D列的行号,从D2开始依次写入每个值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:27:36