我编写了一个User Defined函数来获取单元格的颜色。
Function GetFillColor(Rng As Range) As Long
GetFillColor = Rng.Interior.ColorIndex
End Function
功能有效。
我写了一个宏来在电子表格中使用该功能:
Sub Macro5()
Macro5 Macro
Windows("KobeCurrent2.xlsm").Activate
Sheets("Direct").Select
Range("AP2").Select
ActiveCell.FormulaR1C1 = "=NUMBERVALUE(GetFillColor(RC[-26]))"
Range("AP2").Select
Dim LR As Long
LR = ActiveSheet.UsedRange.Rows.Count
Range("AP2").Select
Range("AP2").AutoFill Destination:=Range("AP2:AP" & LR)
End Sub
细胞AP2显示细胞颜色的值。 列AP中的其余单元格显示#Value! 在我双击#Value!之前,它会更改为单元格颜色的值。
我尝试将单元格乘以1,使用数据文本到列,但是当通过excel宏执行时,我仍然得到#Value!它仍然需要双击才能解决。
任何帮助将不胜感激。感谢。
答案 0 :(得分:1)
我测试了你的脚本,但我收到了#NAME错误,因此我修改了它以将值放在AP2等中,而不是公式。这可能不是您正在寻找的,但很容易修改。希望这会有所帮助或让你朝着正确的方向前进。
Sub Macro5() ' ' Macro5 Macro '
Dim LR As Long
LR = ActiveSheet.UsedRange.Rows.Count
Windows("KobeCurrent2.xlsm").Activate
For x = 2 To LR Step 1
Range("AP" & x).Value = Range("A" & x).Interior.ColorIndex
Next x
' I left these in here for reference.
'ActiveCell.FormulaR1C1 = "=GetFillColor(RC[-15])"
'Range("P2").AutoFill Destination:=Range("P2:P" & LR)
End Sub