VBA如何复制有条件格式的单元格区域
RT。copy有条件格式(公式)的区域,然后insert copied到同一个表中某个地方。
出现一个问题就是,条件格式没有相应的改变,仍然指向原来的区域。
VBA 怎样修改条件格式的公式呢?
又或者有什么办法可以让复制后条件格式自动调整?
谢谢了 --------------------编程问答-------------------- 录制宏,然后相应修改 --------------------编程问答-------------------- 这个可以了吧,多条件还可以组合..
Excel 开发人员参考
Range.SpecialCells 方法
返回一个 Range 对象,该对象代表与指定类型和值匹配的所有单元格。
语法
表达式.SpecialCells(Type, Value)
表达式 一个代表 Range 对象的变量。
参数
名称 必选/可选 数据类型 描述
Type 必选 XlCellType 要包含的单元格。
Value 可选 Variant 如果 Type 为 xlCellTypeConstants 或 xlCellTypeFormulas,则该参数可用于确定结果中应包含哪几类单元格。将这些值相加可使此方法返回多种类型的单元格。默认情况下,将选择所有常量或公式,无论类型如何。
返回值
Range
说明
XlCellType 常量 值
xlCellTypeAllFormatConditions:任意格式单元格 -4172
xlCellTypeAllValidation:含有验证条件的单元格 -4174
xlCellTypeBlanks:空单元格 4
xlCellTypeComments:含有注释的单元格 -4144
xlCellTypeConstants:含有常量的单元格 2
xlCellTypeFormulas:含有公式的单元格 -4123
xlCellTypeLastCell:已用区域中的最后一个单元格 11
xlCellTypeSameFormatConditions:含有相同格式的单元格 -4173
xlCellTypeSameValidation:含有相同验证条件的单元格 -4175
xlCellTypeVisible:所有可见单元格 12
XlSpecialCellsValue 常量 值
xlErrors 16
xlLogical 4
xlNumbers 1
xlTextValues 2
示例
本示例选定工作表 Sheet1 中已用区域的最后一个单元格。
Visual Basic for Applications
Worksheets("Sheet1").Activate
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Activate
--------------------编程问答-------------------- 你原来的条件格式中的公式应该用相对引用的,也就是公式中不用有$任号~~~~ --------------------编程问答--------------------
是这样的,但是这个$不能去掉....
....
能再帮我看一下一下么,
原来的条件格式的公式为: =$B7 <> ""
手动相关区域(复制后)的公式改为: =$G7 <> "" 就可以获得我想要的效果
由于要自动化
我尝试在代码中用modify 如 Selection.FormatConditions(1).Modify Type:=xlExpression, Formula1:="=$G6<>""""" 方法,却不成功 --------------------编程问答--------------------
试过了,但是生成的代码是错误的。
例如4楼
补充:VB , VBA