Excel精英培训网

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

[已解决]VBA仿照下面代码 如何实现提取A列姓名的唯一值保存D列

[复制链接]
发表于 2017-10-26 10:46 | 显示全部楼层 |阅读模式
本帖最后由 laoau138 于 2017-10-27 11:55 编辑

VBA仿照下面代码   如何实现提取A列姓名的唯一值保存D列


'用纯数组方法 把A列姓名唯一值保存D列

'仿照下面这个代码,如何修改能不能实现

Sub hjs0()
Dim A(1 To 5)
Dim b() As String
Dim i As Integer, j As Integer
Dim n As Integer
A(1) = 1
A(2) = 2
A(3) = 1
A(4) = 3
A(5) = 3

For i = 1 To 5
  For j = i + 1 To 5
    If A(j) = A(i) Then
     A(j) = "@"
     End If
   Next j
Next i

ricks = Replace(Join(A(), ","), ",@", "")
b = Split(ricks, ",")

For s = 0 To UBound(b)
Debug.Print b(s)
Next
End Sub









最佳答案
2017-10-27 11:53
  1. Sub aaa()
  2. Dim arr, brr, i&, j&, s$
  3. arr = Application.Transpose(Range("a2:a" & [a65536].End(3).Row))
  4. For i = 1 To UBound(arr) - 1
  5.   If arr(i) <> "@" Then
  6.     For j = i + 1 To UBound(arr)
  7.       If arr(j) = arr(i) Then arr(j) = "@"
  8.     Next j
  9.   End If
  10. Next i
  11. s = Replace(Join(arr, ","), ",@", "")
  12. brr = Split(s, ",")
  13. [d2].Resize(UBound(brr) + 1) = Application.Transpose(brr)
  14. End Sub
复制代码
VBA仿照下面代码   如何实现提取A列姓名的唯一值保存D列.png

VBA仿照下面代码 如何实现提取A列姓名的唯一值保存D列.rar

15.72 KB, 下载次数: 8

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-10-27 11:53 | 显示全部楼层    本楼为最佳答案   
  1. Sub aaa()
  2. Dim arr, brr, i&, j&, s$
  3. arr = Application.Transpose(Range("a2:a" & [a65536].End(3).Row))
  4. For i = 1 To UBound(arr) - 1
  5.   If arr(i) <> "@" Then
  6.     For j = i + 1 To UBound(arr)
  7.       If arr(j) = arr(i) Then arr(j) = "@"
  8.     Next j
  9.   End If
  10. Next i
  11. s = Replace(Join(arr, ","), ",@", "")
  12. brr = Split(s, ",")
  13. [d2].Resize(UBound(brr) + 1) = Application.Transpose(brr)
  14. End Sub
复制代码

评分

参与人数 1 +9 收起 理由
laoau138 + 9 来学习

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 11:54 , Processed in 0.308623 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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