vba可以按列而不是按行或单个单元格格式化表格吗

vba可以按列而不是按行或单个单元格格式化表格吗,vba,excel,excel-2010,powerpoint-2010,Vba,Excel,Excel 2010,Powerpoint 2010,我在Excel 2010工作簿中有vba,用于创建Powerpoint 2010幻灯片。这些幻灯片包含从Excel工作簿中的相同表格填充的表格 我想对PP幻灯片表格中的单元格应用对齐、数字格式和边距(至少对于初学者而言) 我已经找到了格式化表格单元格的解决方案,方法是遍历行,并一次格式化该行中的每个单元格,但我的表格通常是面向列的,这使得行解决方案不受欢迎(而且速度很慢) 这是我当前的、面向行的代码: Set shapetable = activeSlide.Shapes.AddTable(nu

我在Excel 2010工作簿中有vba,用于创建Powerpoint 2010幻灯片。这些幻灯片包含从Excel工作簿中的相同表格填充的表格

我想对PP幻灯片表格中的单元格应用对齐、数字格式和边距(至少对于初学者而言)

我已经找到了格式化表格单元格的解决方案,方法是遍历行,并一次格式化该行中的每个单元格,但我的表格通常是面向列的,这使得行解决方案不受欢迎(而且速度很慢)

这是我当前的、面向行的代码:

Set shapetable = activeSlide.Shapes.AddTable(numRows, 8)
With shapetable
    With .Table
       For iRow = 1 To .Rows.Count
          For Each cl In .Rows(iRow).Cells
             With cl.Shape.TextFrame
                .TextRange.Font.Size = "8"
                .TextRange.ParagraphFormat.Alignment = msoTextEffectAlignmentCentered
             End With
          Next cl
       Next iRow
    End With
End With

是否不可能简单地遍历表格的列并将这些格式设置为“每列”?

而不是在PPT中生成表格,您是否可以在PPT中嵌入excel文档,从而继承已应用的excel列格式?您可以遍历列,然后向下遍历每列中的单元格,但我想你知道这一点。不过,我看不到任何方法可以一次性格式化一列(或一行)中的所有单元格。顺便说一下,这应该是.TextRange.Font.Size=8(8周围没有引号…这是一个单字符,不是一个字符串),而不是在PPT中生成一个表,您可以在PPT中嵌入一个excel文档,从而继承已经应用的excel列格式吗?您可以遍历列,然后遍历每列中的单元格,但我想你知道这一点。不过,我看不到任何方法可以一次性格式化一列(或一行)中的所有单元格。顺便说一下,应该是.TextRange.Font.Size=8(8周围没有引号…它是一个单引号,不是字符串)