Excel精英培训网

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

[已解决]求助:VBA一一对应的问题,谢谢

[复制链接]
发表于 2012-3-19 23:23 | 显示全部楼层 |阅读模式
数据输出:
A1跟B1一一对应,如果有一对一或者一对多的话,用红色将整行标示出,请问大侠们,使用VBA如何编辑代码实现,谢谢大家了。
JMM10B1RXOTG-0A
JMM10B1RXOTG-0105
JMM10B1RXOTG-0A
JMM10B1RXOTG-0105
JMM10B1RXOTG-0A
JMM10B1RXOTG-0105
JMM10B1RXOTG-0A
JMM10B1RXOTG-0105
JMM10B1RXOTG-0A
JMM10B1RXOTG-0105
JMM10B1RXOTG-0A
JMM10B1RXOTG-0105
JMM10B1RXOTG-0A
JMM10B1RXOTG-0105
JMM10B1RXOTG-0A
JMM10B1RXOTG-0105
JMM10B1RXOTG-0A
JMM10B1RXOTG-0105
JMM10B1RXOTG-0A
JMM10B1RXOTG-0105
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-1A
JMM10B1RXOTG-1186
JMM10B1RXOTG-6C
JMM10B1RXOTG-611
JMM10B1RXOTG-6C
JMM10B1RXOTG-611
JMM10B1RXOTG-6C
JMM10B1RXOTG-611
JMM10B1RXOTG-6C
JMM10B1RXOTG-611
JMM10B1RXOTG-6C
JMM10B1RXOTG-611
JMM10B1RXOTG-6C
JMM10B1RXOTG-611
JMM10B1RXOTG-6C
JMM10B1RXOTG-611
JMM10B1RXOTG-6C
JMM10B1RXOTG-611
JMM10B1RXOTG-6C
JMM10B1RXOTG-611
JMM10B1RXOTG-6C
JMM10B1RXOTG-611
JMM10B1RXOTG-6C
JMM10B1RXOTG-611
JMM10B1RXOTG-6C
JMM10B1RXOTG-611

附件是上千行的数据,谢谢!
最佳答案
2012-3-20 11:28
写了一个供参考.......

求帮助.rar

37.97 KB, 下载次数: 14

发表于 2012-3-19 23:40 | 显示全部楼层
一对一或一对多标颜色,那不是全标颜色了!
回复

使用道具 举报

 楼主| 发表于 2012-3-19 23:45 | 显示全部楼层
zjcat35 发表于 2012-3-19 23:40
一对一或一对多标颜色,那不是全标颜色了!

谢谢,是一对多或者多对一的情况下,将所在的行使用其他颜色标出,请问有什么方法呢,谢谢!
回复

使用道具 举报

发表于 2012-3-20 08:36 | 显示全部楼层
我写了下代码,发现你这里都是一对一的情况,没有一对多,或者多对一
回复

使用道具 举报

 楼主| 发表于 2012-3-20 08:48 | 显示全部楼层
zjcat35 发表于 2012-3-20 08:36
我写了下代码,发现你这里都是一对一的情况,没有一对多,或者多对一

谢谢您的热心帮助,这个是特殊情况,平时我处理的都有几条甚至十几条一对一或者一对多的情况的,由于手头暂时没有那种情况,待会我整理一份上去你测试看看,谢谢您!
回复

使用道具 举报

 楼主| 发表于 2012-3-20 08:51 | 显示全部楼层
zjcat35 发表于 2012-3-20 08:36
我写了下代码,发现你这里都是一对一的情况,没有一对多,或者多对一

谢谢您的热心帮助,一对多或者多对一的情况已经上传,并且已经使用红色标示出来,谢谢!

求帮助.rar (40.42 KB, 下载次数: 9)
回复

使用道具 举报

发表于 2012-3-20 09:13 | 显示全部楼层
完全没看明白,进来学习一下
回复

使用道具 举报

 楼主| 发表于 2012-3-20 09:16 | 显示全部楼层
菜鸟锐 发表于 2012-3-20 09:13
完全没看明白,进来学习一下

谢谢研究生的支持,谢谢!
回复

使用道具 举报

发表于 2012-3-20 09:20 | 显示全部楼层
本帖最后由 豆丁 于 2012-3-20 09:25 编辑

没看明白一对多是神马意思!

  1. Sub test()
  2. Dim arr, d, i%, mkey, arrt(), k%
  3. Set d = CreateObject("scripting.dictionary")
  4. arr = Range("a1").CurrentRegion
  5. For i = 1 To UBound(arr)
  6.     d(arr(i, 1) & "|" & arr(i, 2)) = d(arr(i, 1) & "|" & arr(i, 2)) + 1
  7. Next
  8. For Each mkey In d.keys
  9.     If d(mkey) = 1 Then
  10.         k = k + 1
  11.         ReDim Preserve arrt(1 To 2, 1 To k)
  12.         arrt(1, k) = Split(mkey, "|")(0)
  13.         arrt(2, k) = Split(mkey, "|")(1)
  14.     End If
  15. Next
  16. Range("d:e").ClearContents
  17. [d1].Resize(UBound(arrt, 2), 2) = WorksheetFunction.Transpose(arrt)
  18. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-3-20 09:36 | 显示全部楼层
豆丁 发表于 2012-3-20 09:20
没看明白一对多是神马意思!

JMM10B1RXOTG-0A JMM10B1RXOTG-0105
JMM10B1RXOTG-0A JMM10B1RXOTG-0105
JMM10B1RXOTG-0A JMM10B1RXOTG-0105
JMM10B1RXOTG-0A JMM10B1RXOTG-0105
JMM10B1RXOTG-0A JMM10B1RXOTG-0105
JMM10B1RXOTG-0A JMM10B1RXOTG-0105
JMM10B1RXOTG-0A JMM10B1RXOTG-0106
JMM10B1RXOTG-0A JMM10B1RXOTG-0107
JMM10B1RXOTG-0A JMM10B1RXOTG-0108
JMM10B1RXOTG-0A JMM10B1RXOTG-0109

JMM10B1RXOTG-0A JMM10B1RXOTG-0105
JMM10B1RXOTG-0A JMM10B1RXOTG-0105
JMM10B1RXOTG-0A JMM10B1RXOTG-0105
JMM10B1RXOTG-0A JMM10B1RXOTG-0105

这个就是一对多了 ,谢谢你
上面代码好像将一些一对一的数据也筛选出来了,谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-28 15:17 , Processed in 0.315314 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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