Excel精英培训网

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

关于按条件查询复制到另一表格代码问题

[复制链接]
发表于 2020-5-9 13:46 | 显示全部楼层 |阅读模式
本帖最后由 670885056 于 2020-5-11 10:11 编辑

如图,我需要从 基础表 从查询 “立讯”这个客户 并把该客户A列至I列全部复制到 立讯精密 表中   但是代码弄好后 出现咯非 立讯 这家客户的数据 代码如下
Sub 立讯精密()
Dim R%, i%
  Dim arr, brr
  With Worksheets("立讯精密")
    bm = .Range("J2")
    If Len(bm) = 0 Then
      MsgBox "请输入查询内容"
      Exit Sub
    End If
    If Asc(bm) = 0 Then
      N = 3
    Else
      N = 2
      bm = UCase(bm)
    End If
  End With
  M = 0
  With Worksheets("基础")
    R = .Cells(.Rows.Count, 1).End(xlUp).Row
    arr = .Range("a2:J" & R)
    ReDim brr(1 To UBound(arr), 1 To 9)
    For i = 1 To UBound(arr)
      If InStr(arr(i, N), bm) <> 0 Then
        M = M + 1
        For J = 1 To 9
          brr(M, J) = arr(i, J)
        Next
      End If
    Next
  End With
  With Worksheets("立讯精密")
    .Range("a2:I" & .Rows.Count).ClearContents
    .Range("a2").Resize(UBound(brr), UBound(brr, 2)) = brr
  End With
End Sub
麻烦大佬帮忙修改一下  谢谢
企业微信截图_15890028624716.png
企业微信截图_15890026958073.png
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2020-5-9 14:20 | 显示全部楼层
再加上一句,InStr(arr(i, N), bm) <> 0 and len(arr(i,n))=2
回复

使用道具 举报

发表于 2020-5-9 15:36 | 显示全部楼层
你既然不要模糊查询,那就将:
If InStr(arr(i, N), bm) <> 0 Then
改成
If arr(i, N)= bm Then
回复

使用道具 举报

 楼主| 发表于 2020-5-9 15:44 | 显示全部楼层
zjdh 发表于 2020-5-9 15:36
你既然不要模糊查询,那就将:
If InStr(arr(i, N), bm)  0 Then
改成


谢谢,完美解决了我身为小白的问题
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 08:56 , Processed in 0.270705 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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