工作中用到的vba

xiaoxiao2021-02-28  116

我公司需要对已有符合条件的物料进行整理,选出符合条件的物料,供技术与采购部门使用,我在PLM 系统中进行了简单的查询,主要是代号以1或0开头的物料,查询出800条记录,在这800条记录中进行详细的筛选规则如下:

前六位编码数值:

第一段第二段第三段第四段第五段000053111074221133124413141545707172737490

将以上数值组合的结果共1400种,vba程序如下:嵌套循环

Public Sub pailie() Dim i, b, c, d, e, f As Integer i = 1  For b = 3 To 4   For c = 3 To 7     For d = 3 To 7       For e = 3 To 16         For f = 3 To 4           Cells(i, 13) = Cells(b, 2) & Cells(c, 3) & Cells(d, 4) & Cells(e, 5) & Cells(f, 6)           i = i + 1         Next       Next      Next    Next   Next End Sub

在已有的800条记录中进行查询,编码的前六位有符合任意一种组合结果时,将此记录复制到一个单独的表中,程序如下:

Sub 查询()   Dim i, j, k, z, m, n As Integer   Dim wk As Workbook     Set wk = Application.Workbooks.Open("C:\Users\Administrator\Desktop\新建文件夹\结果.xlsx ")   k = 1   z = 1      For i = 2 To 1401        For j = 2 To 6023           If Cells(i, 1) = Left(Cells(j, 2), 6) Then               For z = 2 To 55         wk.Worksheets("sheet1").Cells(k, 1).Value = Cells(i, 1)         wk.Worksheets("sheet1").Cells(k, z).Value = Cells(j, z)                Next               k = k + 1           Else               z = 1          End If        Next     Next End Sub

完成!

  

转载请注明原文地址: https://www.6miu.com/read-23955.html

最新回复(0)