我被分配了简单的任务(起初我是这么认为的),监视输入到excel中,如果有数字(如0000068145),我需要用它的颜色突出显示它。所以我创建了两张Sheet1和Database。在数据库中我保留我的数据:
所以我使用了这段代码,每当我改变一些东西时它就会调用:
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
我想过使用Vlookup,但就我所知,它只能检索到值。
那你怎么会意识到这种行动?
我不能使用Vlookup,我真的需要“数据库”与主表分开。
抱歉我的英文
答案 0 :(得分:1)
我认为您使用Worksheet_Change
的方法是正确的。
将以下内容放入Sheet1
代码:
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
列中的单元格中,则会从此数据库工作表中复制颜色。