PengLianJun 2022-01-09 14:21 采纳率: 100%
浏览 84
已结题

VBA写代码思路请师傅们指导一下

img

师傅们 帮忙指点一下
表二中 A2:A100 数据是自己后填进去的
用什么思路去 表一中 匹配数据啊?
刚接触VBA 需要同时匹配 itemNO 和 warehousename 有好的建议吗?
谢谢先

  • 写回答

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连续的示例

    img

    
    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
    
    
    

    img


    有其他问题可以继续交流~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月17日
  • 已采纳回答 1月9日
  • 创建了问题 1月9日