[Excel][VBA]从另一个工作表中查找值并复制它';s背景

[Excel][VBA]从另一个工作表中查找值并复制它';s背景,excel,vba,Excel,Vba,我被分配了一个简单的任务(起初我是这么认为的),监控excel的输入,如果有数字(比如0000068145),我需要用它的颜色突出显示。所以我创建了两张表Sheet1和数据库。在数据库中,我保存的数据如下: 因此,我使用了这段代码,每当我更改某些内容时,它都会调用: Private Sub Worksheet_Change(ByVal Target As Range) End Sub 我曾考虑过使用Vlookup,但据我所知,它只能检索值 那么你是如何实现这种操作的呢 我不能使用Vloo

我被分配了一个简单的任务(起初我是这么认为的),监控excel的输入,如果有数字(比如0000068145),我需要用它的颜色突出显示。所以我创建了两张表Sheet1和数据库。在数据库中,我保存的数据如下:

因此,我使用了这段代码,每当我更改某些内容时,它都会调用:

Private Sub Worksheet_Change(ByVal Target As Range)


End Sub
我曾考虑过使用Vlookup,但据我所知,它只能检索值

那么你是如何实现这种操作的呢

我不能使用Vlookup,我真的需要“数据库”和主表分开


对不起,我的英语不好

我认为您使用
工作表\u Change
的方法是正确的

将以下内容放入
表1
代码中:

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim oCell As Range, oDBCell As Range
 Dim dbWS As Worksheet
 Dim lColor As Long
 Set dbWS = ThisWorkbook.Worksheets("Database")
 For Each oCell In Target
  Set oDBCell = dbWS.Range("A:A").Find(what:=oCell.Value, LookIn:=xlValues, lookat:=xlWhole)
  If Not oDBCell Is Nothing Then
   lColor = oDBCell.Interior.Color
   oCell.Interior.Color = lColor
  End If
 Next
End Sub
您的“数据库”工作表必须命名为
Database


现在,如果您将一些值放入数据库工作表
Sheet1
a
中的单元格中,则颜色将从此数据库工作表中复制。

您可以将
ThemeColor
TintAndShade
属性值与其对应的数字进行存储,然后只需查找这些数据并使用这些值为单元格着色。如果您不知道属性值,Record Macro是您的朋友。如何设置条件格式?我认为这是可能的。也许这样做更好?隐马尔可夫模型。。。但为每个数字设置条件是痛苦的。。。