条件格式化VBA

我正在build立一个表格来input帐户信息和订单状态。 每一行需要根据同一行上的一个单元格的值来改变,在这种情况下单元格“H”。 我可以很容易地通过条件格式来实现,但是我认为这使得文件比编程代码更大。 我已经尝试了一些select,但我可以告诉在这一刻我迷路了。 我附上我想要完成的一个例子。 我不知道该怎么做,所以如果有人能帮助我,我会非常感激。

在这里input图像说明

Worksheet_Change事件macros¹处理工作表上的更改。

Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Columns("H")) Is Nothing Then On Error GoTo bm_Safe_Exit Application.EnableEvents = False Dim trgt As Range For Each trgt In Intersect(Target, Columns("H")) Select Case LCase(trgt.Value2) Case "credit" Cells(trgt.Row, "A").Resize(1, 12).Interior.ColorIndex = 45 Case "completed" Cells(trgt.Row, "A").Resize(1, 12).Interior.ColorIndex = 10 Case Else Cells(trgt.Row, "A").Resize(1, 12).Interior.Pattern = xlNone End Select Next trgt End If bm_Safe_Exit: Application.EnableEvents = True End Sub 

H_credit_completed


¹ 事件macros属于工作表或工作簿代码表; 不是模块代码表。 对于工作表代码表,右键单击工作表的名称选项卡并select查看代码。 当VBE打开时,它将在前台显示工作表代码表(通常标题为Book1 – Sheet1(Code))。 粘贴代码并进行任何个性化调整,然后点击Alt + Q返回工作表。