计算句子中的黑色字符数

时间:2015-12-09 09:07:29

标签: excel vba excel-vba

我有一个句子列表,句子中的一些字符是绿色(colorindex = 10),有些是蓝色(colorindex = 5),有些是黑色。我想计算每个颜色为蓝色或绿色的句子的比例。

我写了一个宏,它循环遍历每个句子中的每个字符并确定它是什么颜色,然后吐出该句子中非黑色字符的比例。问题是这很慢,我相信有更多先进的技术可以在VBA中使用,例如在一个数组中存储信息,然后在最后将它作为一个数组吐出。我不太确定,如果有人可以让我加快速度,我会非常感激!

此查询Count keywords within phrases中的代码执行的操作非常相似,但只有很短的时间。

这是我到目前为止所拥有的: 句子在范围内(" B2:B1000")

Dim x As Integer, Black As Integer, y As Integer

x = 2
Do Until Cells(x, 2) = ""
Black = 0
For y = 1 To Len(Cells(x, 2))
    If Cells(x, 2).Characters(y, 1).Font.ColorIndex = 1 Then
        Black = Black + 1
    Else
    End If

Next y
Cells(x, 3).FormulaR1C1 = "=1-" & Black & "/LEN(RC[-1])"

x = x + 1
Loop

1 个答案:

答案 0 :(得分:0)

我设法使用以下代码将其加速100 +%:

SoftSkills findByUserId(int id);
相关问题