2015-10-13 81 views

回答

1

要使用VBA解决方案执行此操作,您仍然必须复制/粘贴特殊值>,因为如果该单元格是公式,您不能仅着色单元格的某些字符。

的收官手动步骤进入VBA子程序,我们将有:

  1. 复制从公式计算出的值,并将其粘贴到一个新的细胞。
  2. 确定文本“Item:”的起始位置及其包含的字符数
  3. 确定所需颜色的颜色值。

(假设你的公式为D1),它看起来像:

Sub avgSumColor() 
    Dim rngFormulaCell As Range, rngValueCell As Range 
    Dim itemStart As Integer, itemLength As Integer 

    'Set the cell with the formula and the cell where we'll put the value 
    Set rngFormulaCell = Sheet1.Range("D1") 
    Set rngValueCell = Sheet1.Range("D2") 

    'Copy/Paste special (just set the value of the valuecell to the value of the formulacell) 
    rngValueCell.Value = rngFormulaCell.Value 

    'Figure out where "Item:<number>" starts and 
    ' how many characters long it is 
    itemStart = InStr(1, rngValueCell.Value, "Items") 
    itemLength = Len(rngValueCell.Value) + 1 - itemStart 

    'set the first bit up to the text "Item:<number>" to red 
    rngValueCell.Characters(1, itemStart).Font.Color = RGB(255, 0, 0) 

    'set the last bit containing "Item:<number>" to black 
    rngValueCell.Characters(itemStart, itemLength).Font.Color = RGB(1, 1, 1) 
End Sub 
相关问题