师傅们 帮忙指点一下
表二中 A2:A100 数据是自己后填进去的
用什么思路去 表一中 匹配数据啊?
刚接触VBA 需要同时匹配 itemNO 和 warehousename 有好的建议吗?
谢谢先
VBA写代码思路请师傅们指导一下
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
CSDN专家-showbo 2022-01-09 14:47关注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
有其他问题可以继续交流~本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录