Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 975|回复: 5

把表1里A列筛选不重得值到表2中A列

[复制链接]
发表于 2023-2-17 15:52 | 显示全部楼层 |阅读模式
把表1里A列筛选不重得值到表2中A列

把表1里A列筛选不重得值到表2中A列.rar

11.06 KB, 下载次数: 11

把表1里A列筛选不重得值到表2中A列

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2023-2-18 09:04 | 显示全部楼层
Dim Arr, xD, T$, i&, j%
Set D = CreateObject("Scripting.Dictionary")
Arr = Range("a1:a18")
For i = 2 To UBound(Arr)
    T = Arr(i, 1)
    If T <> "" Then
       D(T) = ""
    End If
Next
Worksheets("表2").Activate
[a2].Resize(D.Count, 1) = Application.Transpose(D.keys)
[a1].Resize(1, D.Count).Sort Key1:=[a1], Orientation:=xlLeftToRight
回复

使用道具 举报

发表于 2023-3-24 08:52 | 显示全部楼层
dou10801 发表于 2023-2-18 09:04
Dim Arr, xD, T$, i&, j%
Set D = CreateObject("Scripting.Dictionary")
Arr = Range("a1:a18")

不能运行出结果。麻烦再看看
回复

使用道具 举报

发表于 2023-3-27 08:22 | 显示全部楼层
kszcs 发表于 2023-3-24 08:52
不能运行出结果。麻烦再看看

1.vba按鈕要放在[表1].
2.或者把Arr = Range("a1:a18")  改成 Arr = Sheet1.Range("a1:a18")
回复

使用道具 举报

发表于 2023-3-29 12:49 | 显示全部楼层
dou10801 发表于 2023-3-27 08:22
1.vba按鈕要放在[表1].
2.或者把Arr = Range("a1:a18")  改成 Arr = Sheet1.Range("a1:a18")

谢谢大师,修改了
回复

使用道具 举报

发表于 2023-5-1 09:22 | 显示全部楼层
Sub 去重()

    On Error Resume Next
    Dim Col As New Collection
    Dim rng As Range, arr
    Dim i As Integer
    For Each rng In Range("A1:A" & [a65536].End(xlUp).Row)
        If Trim(rng) <> "" Then
            Col.Add rng, Key:=CStr(rng)
        End If
    Next
    ReDim arr(2 To Col.Count)
    For i = 2 To Col.Count
        Sheet2.Range("A" & i) = Col(i)
    Next
End Sub
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 14:19 , Processed in 0.776984 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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