2016-08-02 40 views
-2

我有一个大约2000人的大型数据库,sheet1包含所有的名称和相关的详细信息。工作表2从一个站点获取数据。我希望工作表2中的数据自动填充工作表1中的单元格。此外,如果工作表1中不存在该用户以突出显示其无法完成的数据。我很困扰这一点。Excel数据库数据问题

Sub dup() 
    Dim cell As Range, cella As Range, rng As Range, srng As Range 
    Set rng2 = Sheets(2).Range("A2:E2000") 
    Set rng3 = Sheets(3).Range("A2:E29000") 
    For Each cell In rng2 
     For Each cella In rng3 
      If cella = cell Then 
       cella.Interior.ColorIndex = 6 
       '  cella.AddComment.Text Text:="duplicate value" 
      End If 
     Next cella 
    Next cell 
    Set rng2 = Sheets(2).Range("T2:Y2000") 
    Set rng4 = Sheets(4).Range("A1:F2000") 
    For Each cell In rng2 
     For Each cella In rng4 
      If cella = cell Then 
       cella.Interior.ColorIndex = 6 
       '  cella.AddComment.Text Text:="duplicate value" 
      End If 
     Next cella 
    Next cell 
End Sub 

它很难列出,因为它有很多列不知道如何在地球上我可以告诉你什么即时通讯尝试做? :(

尝试https://filetea.me/t1sfGPWECvdQqmgVDGtXL4oRQ

+1

Excel不是数据库。它是一个电子表格。 – Comintern

+1

很难说出你想要做什么,以及“autopopulate”是什么意思,因为你链接到的工作簿位于需要电子邮件地址才能访问的网站上,但很抱歉通知您,但大多数人会对此持怀疑态度(许多人甚至怀疑下载文件,甚至是Google文档等)。考虑创建一个(非常)小的示例数据集并用这些详细信息更新您的问题...... –

回答

0

也许吧,如果你想这样做没有VBA,你可以在表1的自动填入列使用LOOKUP功能它工作起来就像是:

= LOOKUP(sheet1!A2,sheet2!table [a],sheet2!table [b])

这将在sheet2中的表的列“b”中根据列“一个“。这将会选择了同一行中的值列“a”与sheet1的A列中的值匹配。如果我在这里不够清楚,请告诉我。

然后,你可以使用条件格式规则为你说的亮点。我建议COUNTIF函数,如果在指定范围内没有找到匹配的值,它将返回0。

= COUNTIF(A2:A5,A4)

此,例如,在A2续值:A5,在A4相匹配的值。

此外,你会发现在主页选项卡的条件格式工具,如果你正在使用Excel 2016

请参阅以下链接了解更多信息:

Information you may need