2011-11-03 100 views
0

我正在使用Excel工作表来分配工作,并且他们是团队中的3-4个用户。我想要做的是基于某些我希望为用户分配任务的值(此步骤已通过一些VBA和宏实现),下一步是为每个用户设置颜色代码。因此,根据任务前出现的名称,单元格颜色需要更改以反映用户。根据Excel中的数据填充颜色工作表

基本上,每个用户应该在他的名字出现任何任务时自动获取颜色。该颜色对于该用户将是一致的,并且不依赖于该任务。

+0

你并不需要为这个宏,你可以使用条件格式。 –

+0

我有多个用户需要分配多种颜色。这项工作不会有条件格式化吗?因为在这种情况下,我需要为每个用户提供一个条件? – gagneet

+0

我想你是对的。 –

回答

1

如果名字是在第一列:

Private Sub Worksheet_Change(ByVal Target As Range) 

Dim clr As Long, c As Range, v 

    For Each c In Target.Cells 
     If c.Column = 1 Then 
      v = c.Value 
      clr = -1 
      If Len(v) > 0 Then 
       Select Case v 
       Case "Fred": clr = vbRed 
       Case "Jeff": clr = vbBlue 
       Case "Jane": clr = vbYellow 
       End Select 
      End If 
      If clr > 0 Then 
       c.Interior.Color = clr 
      Else 
       c.Interior.ColorIndex = xlNone 
      End If 
     End If 
    Next c 
End Sub