我有一個Excel工作表,其中幾個值相加形成總計。然後我必須手動檢查每個總數是否正確。一旦總計值,我想突出顯示單個單元格並對它們進行顏色編碼。我想通過一個宏如何在excel中對單元格進行顏色編碼。有沒有辦法找出哪些細胞已從公式中加總?Excel VBA - 突出顯示已經求和的單元格
例如;
如果總和值= A1 + A4 + A7,則宏應對這些單元格進行顏色編碼。
任何幫助,非常感謝。
我有一個Excel工作表,其中幾個值相加形成總計。然後我必須手動檢查每個總數是否正確。一旦總計值,我想突出顯示單個單元格並對它們進行顏色編碼。我想通過一個宏如何在excel中對單元格進行顏色編碼。有沒有辦法找出哪些細胞已從公式中加總?Excel VBA - 突出顯示已經求和的單元格
例如;
如果總和值= A1 + A4 + A7,則宏應對這些單元格進行顏色編碼。
任何幫助,非常感謝。
這可能會給你一個想法。以下代碼會將所選單元格的所有直接先例淺綠色。例如,在A10我有公式
=A1+A4+A7
如果我調用下面的宏,而選擇A10然後A1,A4和A7爲綠色:
Sub ColorSummands()
Dim R As Range
Set R = Selection
R.DirectPrecedents.Interior.Color = 5296274 'light green
End Sub
這將是很容易修改該代碼以便輸入框彈出要求用戶選擇顏色
讓我知道下面的VBA代碼是否適合您。 它將允許您突出顯示任何工作表中的任何單元格(只要它在同一工作簿中)。它可以幫助您進行加,減,乘或除 - 並且它甚至可以一次處理多個公式單元格。
Sub color_cells_in_formula()
Dim workrng As Range
Dim lcolor As Long
Set workrng = Application.Selection
Set workrng = Application.InputBox("Range", xTitleId, workrng.Address, Type:=8)
If Application.Dialogs(xlDialogEditColor).Show(10, 0, 125, 125) = True Then
lcolor = ActiveWorkbook.Colors(10)
Else
End If
For Each cell In workrng
If cell.Value <> "" Then
Dim result As String
result = cell.Formula
result = Replace(result, "(", " ")
result = Replace(result, ")", " ")
result = Replace(result, "-", " ")
result = Replace(result, "+", " ")
result = Replace(result, "*", " ")
result = Replace(result, "/", " ")
result = Replace(result, "=", " ")
result = Replace(result, ",", " ")
Dim cells() As String
cells = Split(Trim(result), " ")
For j = 0 To UBound(cells)
Range(cells(j)).Interior.Color = lcolor
Next j
End If
Next cell
End Sub
所有的「和細胞」是一系列細胞+細胞+細胞(或更多)?您可以編寫一個宏,將它們拆分爲+符號的數組(我們稱之爲'summedCells'),然後打開每個數組元素的背景顏色。 '範圍(summedCells(i))。Interior.ColorIndex = 5'。 – nhee