搜索
查看: 490|回复: 0

提取A列唯一值到B列VBA

[复制链接]

978

主题

1094

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
15950
发表于 2024-2-11 22:32:58 | 显示全部楼层 |阅读模式

Sub ExtractUniqueValuesToColumnB()  
    Dim lastRow As Long  
    Dim uniqueDict As Object  
    Dim sourceRange As Range  
    Dim cell As Range  
    Dim uniqueCount As Long  
    Dim targetCell As Range  
      
    ' 初始化字典对象  
    Set uniqueDict = CreateObject("Scripting.Dictionary")  
      
    ' 获取A列的最后一个非空单元格的行号  
    lastRow = ThisWorkbook.Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row  
      
    ' 设置A列的数据范围为源范围  
    Set sourceRange = ThisWorkbook.Sheets("Sheet1").Range("A1:A" & lastRow)  
      
    ' 遍历A列的每个单元格,并将唯一值添加到字典中  
    For Each cell In sourceRange  
        If Not IsEmpty(cell.Value) Then  
            ' 如果字典中不存在该值,则添加它  
            If Not uniqueDict.exists(cell.Value) Then  
                uniqueDict.Add cell.Value, Nothing  
            End If  
        End If  
    Next cell  
      
    ' 将字典中的唯一值写入B列  
    uniqueCount = 0  
    Set targetCell = ThisWorkbook.Sheets("Sheet1").Range("B1")  
      
    Dim varKey As Variant  
    For Each varKey In uniqueDict.keys  
        targetCell.Offset(uniqueCount, 0).Value = varKey  
        uniqueCount = uniqueCount + 1  
    Next varKey  
      
    ' 清理字典对象  
    Set uniqueDict = Nothing  
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

表格智创网

网站简介:表格智创网,是一家以表格设计和技能分享的专业社区,由会计帮帮网投资建设,尽专业,助提高专业技能。

表格智创网欢迎您!

联系我们

  • 工作时间:早上9:00-16:00
  • 客服电话:18668755857
  • 本站网址:www.excelwps.com
  • 淘宝店址:kjbbw.taobao.com

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表