RT。
copy有条件格式(公式)的区域,然后insert copied到同一个表中某个地方。
出现一个问题就是,条件格式没有相应的改变,仍然指向原来的区域。
VBA 怎样修改条件格式的公式呢?
又或者有什么办法可以让复制后条件格式自动调整?
谢谢了

解决方案 »

  1.   

    这个可以了吧,多条件还可以组合..
    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 
      

  2.   

    是这样的,但是这个$不能去掉....
    ....
    能再帮我看一下一下么,
    原来的条件格式的公式为:  =$B7 <> ""
    手动相关区域(复制后)的公式改为:  =$G7 <> ""   就可以获得我想要的效果
    由于要自动化
    我尝试在代码中用modify         如       Selection.FormatConditions(1).Modify Type:=xlExpression, Formula1:="=$G6<>"""""             方法,却不成功