我有一个句子列表,句子中的一些字符是绿色(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
答案 0 :(得分:0)
我设法使用以下代码将其加速100 +%:
SoftSkills findByUserId(int id);