Excel精英培训网

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

[已解决]问题:VBA 查找失效,但是vlookup可以引出数

[复制链接]
发表于 2012-7-17 14:49 | 显示全部楼层 |阅读模式
我用VBA代码实现vlookup功能,大部分可以找不来,但是有几个是值出不来,但是单独用VLOOKUP引用就可以出来,请各位高手帮帮忙,不知道哪里错了,这几个值得参照值格式一致,应该不是格式的问题。谢谢大家

最佳答案
2012-7-17 18:17
Sub QTY()
    ARR = Sheets("QTY from MP 2012 AOP").Range("A3:r" & Sheets("QTY from MP 2012 AOP").Range("A65536").End(3).Row)
    BRR = Sheets("2013 APAC Project List ").Range("A8:AH" & Sheets("QTY from MP 2012 AOP").Range("A65536").End(3).Row)
    For I = 1 To UBound(ARR)
        For J = 1 To UBound(BRR)
            If BRR(J, 1) = ARR(I, 1) Then
                For K = 23 To 34
                    BRR(J, K) = ARR(I, K - 16)
                Next
            End If
        Next
    Next
    Sheets("2013 APAC Project List ").Range("A8").Resize(UBound(BRR), 34) = BRR
End Sub
发表于 2012-7-17 15:01 | 显示全部楼层
发附件                             .
回复

使用道具 举报

发表于 2012-7-17 15:06 | 显示全部楼层
会不会是区域问题?还是要看代码!
回复

使用道具 举报

发表于 2012-7-17 15:29 | 显示全部楼层
没有代码,也没有附件
这事还真不好办
回复

使用道具 举报

 楼主| 发表于 2012-7-17 16:42 | 显示全部楼层
hvail 发表于 2012-7-17 15:06
会不会是区域问题?还是要看代码!

Sub QTY()
  ARR = Sheets("QTY from MP 2012 AOP").Range("A3:r" & Sheets("QTY from MP 2012 AOP").Range("A65536").End(3).Row)
  BRR = Sheets("2013 APAC Project List ").Range("A8:AH" & Sheets("QTY from MP 2012 AOP").Range("A65536").End(3).Row)
  For I = 1 To UBound(ARR)
    For J = 1 To UBound(BRR)
     If BRR(J, 1) = ARR(I, 1) Then
       For K = 23 To 34
        BRR(J, K) = ARR(I, K - 16)
       Next
       Exit For
      End If
      Next
   Next
   Sheets("2013 APAC Project List ").Range("A8").Resize(UBound(BRR), 34) = BRR
End Sub
回复

使用道具 举报

 楼主| 发表于 2012-7-17 16:43 | 显示全部楼层
hongqiqqq 发表于 2012-7-17 15:29
没有代码,也没有附件
这事还真不好办

Sub QTY()
  ARR = Sheets("QTY from MP 2012 AOP").Range("A3:r" & Sheets("QTY from MP 2012 AOP").Range("A65536").End(3).Row)
  BRR = Sheets("2013 APAC Project List ").Range("A8:AH" & Sheets("QTY from MP 2012 AOP").Range("A65536").End(3).Row)
  For I = 1 To UBound(ARR)
    For J = 1 To UBound(BRR)
     If BRR(J, 1) = ARR(I, 1) Then
       For K = 23 To 34
        BRR(J, K) = ARR(I, K - 16)
       Next
       Exit For
      End If
      Next
   Next
   Sheets("2013 APAC Project List ").Range("A8").Resize(UBound(BRR), 34) = BRR
End Sub
回复

使用道具 举报

 楼主| 发表于 2012-7-17 16:53 | 显示全部楼层
zjdh 发表于 2012-7-17 15:01
发附件                             .

Sub QTY()
  ARR = Sheets("QTY from MP 2012 AOP").Range("A3:r" & Sheets("QTY from MP 2012 AOP").Range("A65536").End(3).Row)
  BRR = Sheets("2013 APAC Project List ").Range("A8:AH" & Sheets("QTY from MP 2012 AOP").Range("A65536").End(3).Row)
  For I = 1 To UBound(ARR)
    For J = 1 To UBound(BRR)
     If BRR(J, 1) = ARR(I, 1) Then
       For K = 23 To 34
        BRR(J, K) = ARR(I, K - 16)
       Next
       Exit For
      End If
      Next
   Next
   Sheets("2013 APAC Project List ").Range("A8").Resize(UBound(BRR), 34) = BRR
End Sub
老师,我就是在你的Code的基础上改的,80%能出来,就一部分出不来,我这里上传不了附件
回复

使用道具 举报

发表于 2012-7-17 17:11 | 显示全部楼层
肯定出在数据上,不传附件无法分析!
回复

使用道具 举报

 楼主| 发表于 2012-7-17 17:33 | 显示全部楼层
zjdh 发表于 2012-7-17 17:11
肯定出在数据上,不传附件无法分析!

老师我把引不出的参照值看了下,找出了原因,这些物料号在文件里有重复的,相同物料用在不同的产品上。作为参照值,他把第一个出现的物料号的量引出来了,以后再出现同一个物料号就引不出来了。老师在公式上能不能调整下,让参照值即使一样,出现几次引几次啊?谢谢
回复

使用道具 举报

发表于 2012-7-17 18:17 | 显示全部楼层    本楼为最佳答案   
Sub QTY()
    ARR = Sheets("QTY from MP 2012 AOP").Range("A3:r" & Sheets("QTY from MP 2012 AOP").Range("A65536").End(3).Row)
    BRR = Sheets("2013 APAC Project List ").Range("A8:AH" & Sheets("QTY from MP 2012 AOP").Range("A65536").End(3).Row)
    For I = 1 To UBound(ARR)
        For J = 1 To UBound(BRR)
            If BRR(J, 1) = ARR(I, 1) Then
                For K = 23 To 34
                    BRR(J, K) = ARR(I, K - 16)
                Next
            End If
        Next
    Next
    Sheets("2013 APAC Project List ").Range("A8").Resize(UBound(BRR), 34) = BRR
End Sub
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 01:42 , Processed in 0.370640 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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