当前位置:编程学习 > VB >>

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 

--------------------编程问答-------------------- 你原来的条件格式中的公式应该用相对引用的,也就是公式中不用有$任号~~~~ --------------------编程问答--------------------
引用 3 楼 chinayuppie 的回复:
你原来的条件格式中的公式应该用相对引用的,也就是公式中不用有$任号~~~~

是这样的,但是这个$不能去掉....
....


能再帮我看一下一下么,
原来的条件格式的公式为:  =$B7 <> ""
手动相关区域(复制后)的公式改为:  =$G7 <> ""   就可以获得我想要的效果
由于要自动化
我尝试在代码中用modify         如       Selection.FormatConditions(1).Modify Type:=xlExpression, Formula1:="=$G6<>"""""             方法,却不成功 --------------------编程问答--------------------
引用 1 楼 jhone99 的回复:
录制宏,然后相应修改

试过了,但是生成的代码是错误的。

例如4楼
补充:VB ,  VBA
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,