如果VBA具有用户定义的样式,则VBA会更改单元格的值

时间:2015-01-19 12:54:47

标签: vba excel-vba stylesheet excel

我希望将特定用户定义样式的Excel电子表格中的所有单元格(让我们说'美'风格)更改为值“野兽”。

Sub BulkChangeValeOfStyle() Dim TheCell As Range For Each TheCell In ActiveSheet.UsedRange.Cells If TheCell.Style = "Beauty" Then TheCell.Value = "Beast" End If Next End Sub

这段代码太慢了。我在电子表格中散布了很多美丽细胞。可以这样做:

ActiveSheet.AllCellsWithaStyle="Beauty".value="Beast"

更新的 这只是一个想法: ActiveSheet.Cells.SpecialCells(xlCellTypeSameFormatConditions).Activate 或者 ActiveSheet.Cells.SpecialCells(xlCellTypeSameValidation).Activate

但我不知道如何设置确定xlCellTypeSameFormatConditions的标准。或xlCellTypeSameValidation的标准。有人知道吗?

1 个答案:

答案 0 :(得分:1)

我认为使用比For Each循环更好的解决方案是可能的。但是您应该为要修改的单元格创建一个新样式,并在需要时修改该样式的格式属性,如下所示:

ThisWorkbook.Styles.Item("Good").Interior.ColorIndex=4