在 Excel 中,我想根据当前单元格的填充颜色(类似于 IFCOLOR() )显示当前单元格中的值。当我更改填充颜色时,Excel 应该自动执行此操作,因此它应该是事件。
例如:当我用绿色填充单元格时,Excel 会自动显示值 100 当我用红色填充单元格时,Excel 会自动显示值 75 等等......
是否可以通过 Excel VBA 中的事件来执行此操作?或者你能给我其他的想法如何去做?
我使用过,Workbook_SheetChange
但是当我更改单元格中的值而不是其背景颜色时,这会起作用。
问候Jan
你可以尝试这样的事情:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Interior.Color = vbRed Then
ActiveCell = 75
Else
ActiveCell = " "
End If
End Sub
使用预定义范围:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
Dim rng As Range, cell As Range
Set rng = ws.Range(Cells(1, 1), Cells(100, 20))
For Each cell In rng
If cell.Interior.Color = RGB(255, 0, 0) Then
cell = 75
ElseIf cell.Interior.Color = RGB(0, 255, 0) Then
cell = 100
Else
cell = " "
End If
Next cell
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句