Excel精英培训网

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

[已解决]请帮助修改代码

[复制链接]
发表于 2013-6-10 21:26 | 显示全部楼层 |阅读模式
在工作表1中有二个表,把二表中数据相同最多的行选出来放在工作表2中,代码运行时,只能选一个数据相同最多行的表,另一个表不正常选出,请帮助修改代码。谢谢!
Private Sub 选相同_Click()
Range("a1:m40000") = ""
Dim sh As Worksheet
Dim d As Object, sr As String
Set sh = Sheets("1")
Set d = CreateObject("scripting.dictionary")
k = 0
For Z = 0 To 1
For x = 1 To 7703
    sr = ""
    For y = 1 To 10
        sr = sr & "-" & Replace(sh.Cells(x, y + 14 * Z), " ", "")
    Next y
    If sr <> "----------" Then
        d(sr) = d(sr) + 1
    End If
Next x
arr = d.keys
arr1 = d.items
m = Application.Max(arr1)
For x = 0 To UBound(arr1)
If arr1(x) = m Then
   k = k + 1
   arr2 = Split(arr(x), "-")
   For y = 1 To 10
    Cells(k, y + 14 * Z) = arr2(y)
   Next y
End If
Next x
Next Z
End Sub
最佳答案
2013-6-10 23:38
请哪位高手帮助修改代码2.zip (335.8 KB, 下载次数: 11)

请哪位高手帮助修改代码.rar

273.62 KB, 下载次数: 10

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-6-10 22:45 | 显示全部楼层
请哪位高手帮助修改代码.zip (334.5 KB, 下载次数: 4)
回复

使用道具 举报

 楼主| 发表于 2013-6-10 22:57 | 显示全部楼层
su45 发表于 2013-6-10 22:45

你好:要的不是这样的。 在工作表1中有二个表,把二表中数据相同最多的行分别选出来放在工作表2中,代码运行时,只能选第一个表里数据相同最多行的表,另一个表不正常选出,请帮助修改代码。谢谢!
回复

使用道具 举报

 楼主| 发表于 2013-6-10 22:59 | 显示全部楼层
ymq123 发表于 2013-6-10 22:57
你好:要的不是这样的。 在工作表1中有二个表,把二表中数据相同最多的行分别选出来放在工作表2中,代码运 ...

你好:要的不是这样的。 在工作表1中有二个表,把二表中数据相同最多的行分别选出来放在工作表2中,代码运行时,只能选第一个表里数据相同最多行的表,另一个表不正常选出,请帮助修改代码。谢谢!

请哪位高手帮助修改代码.rar

273.84 KB, 下载次数: 1

回复

使用道具 举报

发表于 2013-6-10 23:38 | 显示全部楼层    本楼为最佳答案   
请哪位高手帮助修改代码2.zip (335.8 KB, 下载次数: 11)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 22:25 , Processed in 0.247551 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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