如何剪切select的行并粘贴到另一个工作簿并重复

我有一个列中有15000行的电子表格。 我想要创build一个脚本来为电子表格下的每个单元格着色代码。 我需要的是:

  • 红色的前10个细胞
  • 在BLUE中接下来的5个单元格
  • GREEN中的下5个单元格
  • 对于从A1降至A1500的所有单元重复此操作…

任何快速指针? 他们有一个pipe理员女孩这样做手动三天:/

– – -编辑

感谢球员的反应,非常有帮助!

但是 – 事实certificate,我误解了什么是全面的。 现在非常复杂,我意识到需要什么。

我们拥有的是:一个电子表格中的四个工作簿(1a级,1b级,1c级,1表)

该脚本需要:

  • 剪下第1层的前10个单元格并粘贴到sheet1列A;
  • 剪下第2层的前5个单元格并粘贴到sheet1列A;
  • 剪下第3层的前5个单元格并粘贴到sheet1列A中;

  • 对每个工作簿中的所有单元格以降序重复 – 所以最终结果将在sheet1列A中具有10-5-5 10-5-5 10-5-5值等

任何帮助将不胜感激:)否则手动是..请保存我的理智

这是一个简单的macros来做到这一点

Sub colorRBGRow() For X = 0 To 14980 step 20 Range("A" & X + 1 & ":A" & X + 10).Interior.ColorIndex = 3 Range("A" & X + 11 & ":A" & X + 15).Interior.ColorIndex = 5 Range("A" & X + 16 & ":A" & X + 20).Interior.ColorIndex = 4 Next X End Sub 

您可以使用条件格式:例如对于第一种颜色(假设您的数据从第二行开始)使用公式:

 =AND(MOD(ROW()-1,20)>0,MOD(ROW()-1,20)<11) 

下一个颜色:

 =AND(MOD(ROW()-1,20)>10,MOD(ROW()-1,20)<16) 

最后一个更棘手:

 =OR(MOD(ROW()-1,20)=0,AND(MOD(ROW()-1,20)>15,MOD(ROW()-1,20)<20)) 

尝试使用此公式和条件格式为单元格着色:

 =CHOOSE(INDEX(MOD(INT((ROW(RC)-1)/5),4),1,1)+1,1,1,2,3) 

现在我使用R1C1模式,而不是A1模式,所以只需将RCreplace为格式化的单元格,然后将公式粘贴到其他单元格中即可。

在任何情况下,这个公式返回代表红色,蓝色和绿色的数字1,2或3。

然后,我格式化每个单元格红色,然后它只是应用两个条件格式的蓝色和绿色的情况:

 =CHOOSE(INDEX(MOD(INT((ROW(RC)-1)/5),4),1,1)+1,1,1,2,3)=2 

和:

 =CHOOSE(INDEX(MOD(INT((ROW(RC)-1)/5),4),1,1)+1,1,1,2,3)=3 

这是我的结果:

结果

你实际上可以自动填充颜色。 您可以使用VBA或手动执行此操作。

VBA:

 Sub Macro1() Range("A1:A20").Select Selection.AutoFill Destination:=Range("A1:A15000"), Type:=xlFillDefault End Sub 

在一张白纸上做这个 – 你可以将这个颜色格式复制粘贴到你想要的任何单元格上。

如果您不想执行任何复制粘贴,也可以使用自动填充types的xlFillFormats,但也会覆盖其他任何(与颜色无关的)格式:

 Sub Macro2() Range("A1:A10").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 255 .TintAndShade = 0 .PatternTintAndShade = 0 End With Range("A11:A15").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 12611584 .TintAndShade = 0 .PatternTintAndShade = 0 End With Range("A16:A20").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 5287936 .TintAndShade = 0 .PatternTintAndShade = 0 End With Range("A1:A20").Select Selection.AutoFill Destination:=Range("A1:A109"), Type:=xlFillFormats End Sub