VBA如何在Excel中为表格指定自定义表格样式

VBA如何在Excel中为表格指定自定义表格样式,excel,vba,Excel,Vba,这个问题很简单,但我似乎在任何地方都找不到答案,所以我将把它放在这里:如何将表格样式指定给表格,而不将其映射到默认表格样式,即创建自定义样式元素?我读到它可能涉及.TableStyleElements,但当我试图添加ActiveSheet.ListObjectsTable1.TableStyleElementsxlHeaderRow.Font.Color=RGB119,184,0时,它中断了。语法有误吗?我认为您需要首先声明表格样式,例如: Dim oTblStyle As TableStyle

这个问题很简单,但我似乎在任何地方都找不到答案,所以我将把它放在这里:如何将表格样式指定给表格,而不将其映射到默认表格样式,即创建自定义样式元素?我读到它可能涉及.TableStyleElements,但当我试图添加ActiveSheet.ListObjectsTable1.TableStyleElementsxlHeaderRow.Font.Color=RGB119,184,0时,它中断了。语法有误吗?

我认为您需要首先声明表格样式,例如:

Dim oTblStyle As TableStyle

Set oTblStyle = ActiveSheet.ListObjects("Table1").TableStyle

oTblStyle.TableStyleElements.Item(xlHeaderRow).Font.Color = RGB(119, 184, 0)

谢谢,但出于某种原因,当它到达oTblStyle.TABLESTYLEMENTS.ItemxlHeaderRow.Font.Color=RGB119,184,0时,它给了我一个运行时错误“5”:过程调用或参数无效。你知道为什么吗?我已经编辑了ActiveSheet.ListObjectsTable1.TableStyle的答案-你已经在你的代码中修改过了吗?是的,即使修改了这一行,调试也没问题。最后一行仍然存在问题。在设置字体颜色时,似乎存在错误。oTblStyle.TableStyleElements.ItemxlHeaderRow.Font.Bold=False可以正常工作,您还可以读取Font.Color的属性。。。非常奇怪,我认为这与我现有表格上的预设表格样式有关,因为一旦我删除了该样式,就会出现“424”错误:需要对象