Excel格式画家宏?

时间:2016-09-29 12:57:59

标签: excel vba excel-vba

这就是我希望成为一个大型Excel订单项目的最后一部分,我几个月来一直在努力工作。

此时的情况是我有一个包含两个工作表的工作簿。我在Sheet2上有一个空白行(A-X),每个单元格都有很多条件格式。我想将条件格式信息放到Sheet1上。

我不知道这是否可能,但这是最好的情况。 Sheet1上的数据从第83行开始。我希望Sheet2中的条件格式应用于Sheet1上的每一行数据。如果我手动使用格式画家,它会做我想要的。但是,如果使用宏,它可以将格式绘画应用到Sheet1上的每一行,直到有一个空行,这将是很好的。

这可能吗?我能想到的唯一其他解决方案是让一个宏将格式画家应用到行83-10000或其他什么,因为这将涵盖具有最多可能数据的电子表格。

或许还有另一个/更好/更简单的方法可以复制画家的格式吗?

2 个答案:

答案 0 :(得分:0)

选择工作表2上的单元格/行,单击格式画家,然后选择将工作表更改为工作表1。单击所需的列标题,而不是特定的单元格,而是标题。格式化将应用于这些列中的所有单元格。现在只需单击您的单元格范围77/82(您提到了两个不同的单元格)并按住shift键单击单元格1并删除格式。完成。

或者对于VBA:

Sheets("Sheet2").[A1].Copy: Sheets("Sheet1").[A78:A10000].PasteSpecial xlPasteFormats

修改

对不起,如果我误导你,对于手工格式画家 - 当我说标题时,我的意思是列本身。您可以将基于单行的格式粘贴到整个列内容而不是特定单元格,请参阅下文:

enter image description here

答案 1 :(得分:0)

这是最终对我有用的解决方案。该项目变形了一点,所以现在只有一个工作表而不是两个。

Sub CopyCFormat2()
    Range("AC1:AY1").Select
    Selection.Copy
    Range("A84:X1000").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False   
End Sub