解决方案 »

  1.   

    在销售明细表中 把单号跟对应的销售数量保存起来,然后去另外一张表(销售单)去寻找对应的单号并将销售数量付到对应的位置,查找的过程应该是通过"单号→"来作ki,意思就是通过"单号→"去确定1006(以及其他)的位置,然后取值赋值,如果两张表不再一个Sheet中的话,可以通过Wb.Sheets(页名),来获得sheet上的数据。
      

  2.   

    给你一段大概的代码,由于没有数据,无法测试,你调试下:
    Sub Test()
        Dim Sht1 As Worksheet, Sht2 As Worksheet, w1 As String, i As Long
        Dim iDic As New Dictionary, iNum As Long, iC As Long
        Dim Rng As Range
        Set Sht1 = Worksheets("销售单")
        Set Sht2 = Worksheets("销售明细")
        iNum = CLng(Sht1.Range("e4").Value) ''销售单号
        ''用字典记录,好处是不怕错位
        iDic.CompareMode = TextCompare
        With Sht1
            For i = 6 To .Cells.Rows.Count
                w1 = Trim(.Cells(i, 4))
                If w1 = "" Then Exit For ''如果商品名称为空则退出
                iDic(w1) = .Cells(i, 5)
            Next
        End With
        ''开始找对应的单号
        Set Rng = Sht2.Range("d1:d" & Sht2.Cells.Columns.Count).Find(what:=CStr(iNum), lookat:=xlWhole)
        If Rng Is Nothing Then
            MsgBox "没找到对应的单号!"
            Exit Sub
        End If
        iC = Rng.Column ''目标列
        ''开始填充
        With Sht2
            For i = 3 To .Cells.Rows.Count
                w1 = Trim(.Cells(i, 3))
                If w1 = "" Then Exit For ''如果商品名称为空则退出
                If iDic.Exists(w1) Then .Cells(i, iC) = iDic(w1)
            Next
        End With
    End Sub