我在一列中有一个包含15000行的电子表格。我想创建一个脚本来对电子表格中下降的每个单元格进行颜色编码。我需要的是:
有什么快速指示吗?他们有一个管理女孩手动执行这三天:/
----- EDIT
谢谢各位回复,非常有帮助!
但是 - 事实证明我误解了所有内容的全部规模。现在很复杂,我意识到需要什么。
我们拥有的是:一个电子表格中的四个工作簿(第1a层,第1b层,第1c层,第1层)
脚本需要:
剪切第3层中的前5个单元格并粘贴到sheet1列A中;
对每个工作簿中的所有单元格按降序重复 - 因此最终结果将在sheet1列A中具有10-5-5 10-5-5 10-5-5值等
< / LI>任何帮助将不胜感激:)否则手动它是..请保存我的理智
答案 0 :(得分:1)
这是一个简单的宏来做到这一点
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
答案 1 :(得分:0)
您可以使用条件格式:例如,对于第一种颜色(假设您的数据从第2行开始),请使用以下公式:
=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))
答案 2 :(得分:0)
您实际上可以自动填充颜色。您可以使用VBA或手动执行此操作。
VBA:
Sub Macro1()
Range("A1:A20").Select
Selection.AutoFill Destination:=Range("A1:A15000"), Type:=xlFillDefault
End Sub
在空白纸上执行此操作 - 您可以将此颜色格式复制粘贴到所需的任何单元格上。
如果您不想进行任何复制粘贴,则可以使用自动填充类型的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
答案 3 :(得分:0)
尝试使用此公式和条件格式设置为单元格着色:
=CHOOSE(INDEX(MOD(INT((ROW(RC)-1)/5),4),1,1)+1,1,1,2,3)
现在我使用的是R1C1
模式,而不是A1
模式,因此只需将RC
替换为您要格式化的单元格,然后将公式粘贴到其他单元格中。
在任何情况下,此公式都会返回数字1,2或3,表示颜色为RED,BLUE和GREEN。
然后我将每个单元格格式化为RED,然后它只是为BLUE和GREEN应用两种条件格式的情况:
=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
这是我的结果: