2017-06-26 162 views
0

當我使用Excel VBA從一個工作簿到PowerPoint複製表突出簡報表細胞,我使用:爲什麼Excel的VBA有時改變字體大小

Shape.Table.Rows.Cell.Shape.TextFrame.TextRange.Font.Size = 20 

格式化的字體大小細胞。但是,在一臺計算機上,此功能突出顯示單元格的內容以更改字體大小(類似於突出顯示文本以便手動更改字體大小的方式),並且在不同的計算機上,此行代碼更改字體大小時不需要需要突出顯示實際的文字。有誰知道爲什麼這是工作不同(可能是一個基本的設置差異)?

我不希望代碼突出顯示文本,因爲當文本突出顯示並且宏嘗試在幻燈片上粘貼另一個表格時,它會將表格粘貼在突出顯示的單元格中,而不是作爲新的單獨表格。

回答

0

假設實際上形狀包含一個表,試圖通過使用表對象的細胞的方法在表中每個單元格循環...

Dim lRow As Long 
Dim lCol As Long 

With oShape.Table 
    For lRow = 1 To .Rows.Count 
     For lCol = 1 To .Columns.Count 
      .Cell(lRow, lCol).Shape.TextFrame.TextRange.Font.Size = 20 
     Next lCol 
    Next lRow 
End With 
+0

我偶爾見到的情況下改變字體的大小導致Windows呈現它,就像它的粗體/重量改變一樣。換句話說,這可能是一個顯示問題。如果您手動更改字體大小,會發生什麼情況?同樣的效果? –

+0

這基本上就是我正在使用的循環(爲簡單起見,我剛剛發佈了濃縮線),但主要問題是隻有一臺計算機,它會更改字體大小而無需突出顯示單元格的內容,並且在另一臺計算機上運行相同版本的ppt和excel,它確實突出了單元格內容。 如果我手動更改字體大小,我會選擇整個表並一次更改整個表的字體大小,或者如果我通過單元格更改字體大小,那麼我需要突出顯示每個字體的內容單元格,因爲沒有辦法點擊單元格 – Ben

+0

這是你正在使用的確切代碼行嗎?如果是這樣,你應該得到一個錯誤,因爲Cell不是Rows對象的成員。 – Domenic

相關問題