0

我想根据来自其他单元格的输入在新单元格中形成一个文本,在新单元格中我想用不同的颜色突出显示选定的文本,以下是我的示例代码

Sub Macro1()

   While ActiveCell.Offset(0, -1) <> ""       
     ActiveCell.Offset(0, 0).FormulaR1C1 = _
      "New Text" & ActiveCell.Offset(0, -1) & ":" & ActiveCell.Offset(0, -2)

     ActiveCell.Offset(1, 0).Select
   Loop

End Sub

在这里,我想将颜色定义为“新文本”,我已经看到如何更改整个单元格,而不是选定的文本。这个怎么做?

4

2 回答 2

1

这是将字符串中的特定字符更改为另一种颜色(在本例中为红色)的示例:

Sub ChgColour()

    vStart = 12
    vLength = 3
    With ActiveCell.Characters(Start:=vStart, Length:=vLength).Font
       .Color = -16776961
    End With

End Sub

这会改变从 12 号开始的三个字符的颜色。

当我不确定时,我发现对于获取 VBA 语法非常有用的一个技巧是在手动执行这些步骤的同时记录宏,然后您可以看到使用的代码。有时它会生成比需要更多的代码,比如设置所有字体属性而不仅仅是你想要的,但通常很容易找出你需要的部分并将绝对单元格/字符引用替换为相对引用。

于 2013-07-06T12:24:44.393 回答
-1

用这个:

Do While ActiveCell.Offset(0, -1) <> ""
 ActiveCell.Offset(0, 0).FormulaR1C1 = _
  "New Text " & ActiveCell.Offset(0, -1) & ":" & ActiveCell.Offset(0, -2)

 With ActiveCell.Characters(Start:=0, Length:=8).Font
    .Color = -16776961
 End With

 ActiveCell.Offset(1, 0).Select

Loop
于 2013-07-07T10:03:35.673 回答