师傅们 帮忙指点一下
表二中 A2:A100 数据是自己后填进去的
用什么思路去 表一中 匹配数据啊?
刚接触VBA 需要同时匹配 itemNO 和 warehousename 有好的建议吗?
谢谢先
ItemNo是放一起的吗?如果是直接遍历表1,判断itemNo不一样时新起一行依次填充FG,RM,TOOL,SP的值。
不是在一起,可以遍历表一用scripting.dictionary归类FG,RM,TOOL,SP的值(放数组中),然后键名称为ItemNo,然后再遍历字典依次写入表2(当然也可以在在遍历表1的时候用Find函数找表2中的ItemNo是否存在,存在就写入对一个的列值)
下面代码为ItemNo连续的示例
Sub writeData()
rownum = Sheets("sheet1").Range("A65536").End(xlUp).row
itemno = ""
RowIndex = 1
For i = 2 To rownum
If itemno <> Sheets("sheet1").Cells(i, "B") Then 'ItemNo²»Ò»Ö£¬ÐÂÆðÒ»ÐÐ
itemno = Sheets("sheet1").Cells(i, "B")
RowIndex = RowIndex + 1
Sheets("sheet2").Cells(RowIndex, "A") = itemno
End If
WarehouseName = Sheets("sheet1").Cells(i, "A")
cellName = "B"
If WarehouseName = "RM" Then
cellName = "C"
ElseIf WarehouseName = "TOOL" Then
cellName = "D"
ElseIf WarehouseName = "SP" Then
cellName = "E"
End If
Sheets("sheet2").Cells(RowIndex, cellName) = Sheets("sheet1").Cells(i, "C")
Next
End Sub
1 暴力向--》 将表一的数据装进list里面再遍历,记住要装进list,VBA遍历excel的数据有点慢
2 简单向--》 匹配数据嘛,可以尝试用透视vlookup试试?