0
我使用VBA从csv文件中在Word中创建表格。一些细胞应该是彩色的,所以这些值我用原来的CSV字符“&”:在Word中更快速地上色表格单元格
.......
1,234 6,789 &4,321e+05
&-5,55 1,999 0,00
.......
然后我使用过的表格单元格循环:
Set tbl = ActiveDocument.Tables(ActiveDocument.Tables.Count)
For Each ce In tbl.Range.Cells
a = ce.Range.Text
If InStr(a, "&") Then
a = Replace(a, "&", "")
ce.Range.Text = a
ce.Shading.BackgroundPatternColor = wdColorGray20
End If
Next
因为可以有很多表,桌子可能相当大,有时候很慢。有没有更快的方法来做到这一点?
它很慢,因为您正在逐个读取文档中的单元格,并运行一些函数来绘制和替换它们的值。最好的办法是将所有的表格数据转换成一个数组,然后运行宏并保存所有将被绘制在另一个数组中的单元格的地址,然后遍历该数组并绘制单元格并从中删除特殊字符。数组中的循环比遍历范围的循环要快得多。 – Ibo
@Ibo谢谢你的建议,我会试试这个。 –
请让我们知道结果! – Ibo