Excel精英培训网

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

[已解决]各位大神求代码,帮帮我

[复制链接]
发表于 2017-5-20 09:56 | 显示全部楼层 |阅读模式
各位大神求代码,要把Excel1 这个专利与相应的分类号对应,做成Excel2 这样的,有相应专利分类号的标为1,没有的标2
最佳答案
2017-5-20 22:59
以下程序无法跨工作浦查找返回结果,仅供参考
Sub 查找()
Dim x, y, i, t, a, b, c, d
x = Sheets(1).Cells(65535, 1).End(xlUp).Row                 '第一个工作表a有几行
i = Sheets(2).Cells(65535, 1).End(xlUp).Row                 '第二个工作表a有几行
For a = 2 To x
  For b = 1 To i
   If Sheets(1).Cells(a, 1) = Sheets(2).Cells(b, 1) Then     '判断行重复
    y = Sheets(1).Cells(1, 250).End(xlToLeft).Column          '第一个工作表a1有几列
    t = Sheets(2).Cells(b, 250).End(xlToLeft).Column
    For c = 2 To y
     For d = 1 To t
      If Sheets(1).Cells(1, c) = Sheets(2).Cells(b, d) Then   '判断列重复
       Sheets(1).Cells(a, c) = 1                              '有=1
       Exit For                                               '结束运行for d
      Else
       Sheets(1).Cells(a, c) = 2                              '无=2
      End If
     Next
    Next
   End If
  Next
Next
End Sub
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2017-5-20 09:57 | 显示全部楼层
文件在这里,新手忘了上传附件

Excel1 和Excel 2.zip

178.39 KB, 下载次数: 12

回复

使用道具 举报

发表于 2017-5-20 22:59 | 显示全部楼层    本楼为最佳答案   
以下程序无法跨工作浦查找返回结果,仅供参考
Sub 查找()
Dim x, y, i, t, a, b, c, d
x = Sheets(1).Cells(65535, 1).End(xlUp).Row                 '第一个工作表a有几行
i = Sheets(2).Cells(65535, 1).End(xlUp).Row                 '第二个工作表a有几行
For a = 2 To x
  For b = 1 To i
   If Sheets(1).Cells(a, 1) = Sheets(2).Cells(b, 1) Then     '判断行重复
    y = Sheets(1).Cells(1, 250).End(xlToLeft).Column          '第一个工作表a1有几列
    t = Sheets(2).Cells(b, 250).End(xlToLeft).Column
    For c = 2 To y
     For d = 1 To t
      If Sheets(1).Cells(1, c) = Sheets(2).Cells(b, d) Then   '判断列重复
       Sheets(1).Cells(a, c) = 1                              '有=1
       Exit For                                               '结束运行for d
      Else
       Sheets(1).Cells(a, c) = 2                              '无=2
      End If
     Next
    Next
   End If
  Next
Next
End Sub

2.rar

233.59 KB, 下载次数: 3

回复

使用道具 举报

 楼主| 发表于 2017-5-23 17:21 | 显示全部楼层
0126 发表于 2017-5-20 22:59
以下程序无法跨工作浦查找返回结果,仅供参考
Sub 查找()
Dim x, y, i, t, a, b, c, d

这几天没有上论坛,才看到,非常感谢您的帮助,我回去试一试,太谢谢您了
回复

使用道具 举报

发表于 2017-5-24 21:05 | 显示全部楼层
柠檬infinite 发表于 2017-5-23 17:21
这几天没有上论坛,才看到,非常感谢您的帮助,我回去试一试,太谢谢您了

这几天学习了一下后改了一下代码使它可以跨工作蒲查询,
还在1号工作蒲里面加入了一个窗体,窗体查询的话不限制查询条件在哪行那列,可以修改返回结果


Dim x, y, i, t, a, b, c, d, c1 As Worksheet, c2 As Workbook
Set c1 = ActiveSheet                                 '当前工作表
Set c2 = ThisWorkbook                                '代码所在工作蒲
x = c1.Cells(65535, 1).End(xlUp).Row                 '第一个工作表a有几行
i = c2.Sheets(1).Cells(65535, 1).End(xlUp).Row                 '第二个工作表a有几行
For a = 2 To x
  For b = 1 To i
   If c1.Cells(a, 1) = c2.Sheets(1).Cells(b, 1) Then     '判断行重复
    y = c1.Cells(1, 250).End(xlToLeft).Column          '第一个工作表a1有几列
    t = c2.Sheets(1).Cells(b, 250).End(xlToLeft).Column
    For c = 2 To y
     if cells(1,c)="" then
      Exit For  
     End If
    For d = 1 To t
      If c1.Cells(1, c) = c2.Sheets(1).Cells(b, d) Then   '判断列重复
       c1.Cells(a, c) = 1                              '有=1
       Exit For                                               '结束运行for d
      Else
       c1.Cells(a, c) = 2                              '无=2
      End If
     Next
    Next
   End If
  Next
Next
End Sub

1&2.rar

320.34 KB, 下载次数: 4

回复

使用道具 举报

 楼主| 发表于 2017-5-31 08:51 | 显示全部楼层
0126 发表于 2017-5-24 21:05
这几天学习了一下后改了一下代码使它可以跨工作蒲查询,
还在1号工作蒲里面加入了一个窗体,窗体查询的 ...

好的,我试一试,其实上回那个代码已经帮我解决大问题了,太谢谢您了,还帮我继续解决问题,非常感谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 18:10 , Processed in 0.257228 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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