2014-01-15 70 views
1

我对制作Excel单元格格式宏有兴趣,它允许我滚动浏览不同的选项(不同的字体/单元格颜色,不同的边框类型等)。我知道我可以通过检查条件来实现这一点 - 如果我改变字体颜色,那么我可以通过使用条件逻辑“滚动”(如果color1,然后改变为color2;如果color2,则改变为颜色3;等等)。我想知道是否有更好的方法来实现这一点 - 具体来说,有没有一种方法可以在VBA中存储单元格的自定义属性?Excel中单元格的自定义属性/属性?

例如,如果我将单元格B3设置为特定的边框样式(细线为顶部,左边,右边,而底部为双线),是否有创建和设置Cell.CustomBorderStyle = 1的VBA属性的方法?否则,我相信我必须在我的宏中为精确的格式创建逻辑(如果top,left,right = thin和bottom = double,然后转换为第二样式等)。我不确定在VBA中创建自定义类是否会允许我这样做,或者有什么办法可以做到这一点。

如果我的问题不清楚,请让我知道 - 谢谢!

+0

您的符号是否需要在会话中持续存在?如果是,则可以考虑将样式信息存储在隐藏表格中(例如键入单元格地址)。但是,如果用户例如添加或删除行/列,那么这会抛弃您的映射。另一种选择是将信息存储在单元格注释中并隐藏注释。 –

回答

1

如果您只希望在此VBA会话中使用单元属性,那么我将使用带有单元格地址(Sheet_Row_Column)键的集合或字典来存储属性。

如果您想在Excel工作簿中保留这些信息,那么最好使用自定义xml来完成。