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