在Excel

时间:2018-10-10 22:41:41

标签: excel vba excel-vba excel-formula

我无法弄清楚如何解决我的问题。
我有两列:

Client Name   Job Name 
Company 1     Dealership 
Company 1     Dealership 
Company 1     Dealership 
Company 2     Airport 
Company 2     Airport 
Company 3     Dealership 
Company 3     Dealership 
Company 1     Parking Lot 
Company 1     Parking Lot 

使用公式(索引,匹配等)如何创建新列表 它仅列出唯一的公司及其各自的工作名称 所以我的新清单应该像

Client Name   Job Name
Company 1     Dealership
Company 2     Airport 
Company 3     Dealership 
Company 1     Parking Lot 

基本上,我有不同的工作表,每天都会填充我们要招聘的公司。我们可以为多个公司竞标相同的工作名称,并且在本赛季中我们与许多相同的公司合作。新清单必须是动态的,因为每天都会发出新的出价。

我有可以使用的VBA代码,但我尝试尽可能地采用其他方式

While Not Sheets("TempStore").Cells(x, 2).Value = ""
    'Creating comparisons for client / project name
    Set RngClient = Sheets("TempStore").Cells(x, 2)
    Set RngProject = Sheets("TempStore").Cells(x, 3)

    'Looping from last row to specified first row
    For LngRow = LngLastRow To (x + 1) Step -1
        'Checking conditions

        If Sheets("TempStore").Cells(LngRow, 2).Value = RngClient And Sheets("TempStore").Cells(LngRow, 3).Value = RngProject Then

            RngClient.Offset(0, 9).Value = RngClient.Offset(0, 9).Value + Sheets("TempStore").Cells(LngRow, 11).Value 'Total Cost
            RngProject.Offset(0, 9).Value = RngProject.Offset(0, 9).Value + Sheets("TempStore").Cells(LngRow, 12) 'Total Sell
            Sheets("TempStore").Rows(LngRow).Delete

        End If


    Next LngRow

    x = x + 1

Wend

上面的代码基本上用于添加与客户名称和项目名称相关的列,然后在找到匹配项后删除该行,因此最后每个工作名称都没有客户重复。

希望我对它的描述足够好,足以让人理解。 谢谢

0 个答案:

没有答案