Vba 如果将单元格设为左彩色,则将内容复制到此单元格中
如果可以在没有VBA的情况下执行此操作,理论上的Excel语法就是这样的: 如果(左侧单元格=彩色(或填充),将内容复制并粘贴到此单元格中,将上面单元格的内容复制并粘贴到此单元格中Vba 如果将单元格设为左彩色,则将内容复制到此单元格中,vba,excel,colors,Vba,Excel,Colors,如果可以在没有VBA的情况下执行此操作,理论上的Excel语法就是这样的: 如果(左侧单元格=彩色(或填充),将内容复制并粘贴到此单元格中,将上面单元格的内容复制并粘贴到此单元格中 如何在VBA中实现这一点?您必须编写周围的代码,以便在要计算的单元格中循环,但关键是: If Range("A2").Interior.ColorIndex > xlNone Then Range("B2") = Range("A2").Value Else Range("B1") = Rang
如何在VBA中实现这一点?您必须编写周围的代码,以便在要计算的单元格中循环,但关键是:
If Range("A2").Interior.ColorIndex > xlNone Then
Range("B2") = Range("A2").Value
Else
Range("B1") = Range("A2").Value
End If
循环可以是For循环,可能类似于:
For i = 2 to <whatever>
If Range("A" & i).Interior.ColorIndex > xlNone Then
Range("B" & i) = Range("A" & i).Value
Else
Range("B" & i - 1) = Range("A" & i).Value
End If
Next i
对于i=2到
如果范围(“A”&i).Interior.ColorIndex>xlNone,则
范围(“B”和i)=范围(“A”和i).值
其他的
范围(“B”和i-1)=范围(“A”和i).值
如果结束
接下来我
您可以在VBA中使用自定义项:Function Color(MyCell As Range)
If MyCell.Interior.ColorIndex > 0 Then
Result = 1
Else
Result = 0
End If
Color = Result
End Function
然后在B2中使用以下公式填充单元格:=IF(color(A2)=1,A2,B1)
希望这对您有用。作为自定义项输入单元格以评估填充:
Function CellColored(rng As Range) As Variant
If rng.Interior.ColorIndex > xlNone Then
CellColored = rng.Value2
Else
CellColored = Empty
End If
End Function
作为没有输入的自定义项,假设条件单元格位于调用单元格的右侧:
Function CellColored() As Variant
If Application.Caller.Offset(0, 1).Interior.ColorIndex > xlNone Then
CellColored = Application.Caller.Offset(0, 1).Value2
Else
CellColored = Empty
End If
End Function
然后,在第二个版本中,您可以将函数调用为
CellColored(A2)
或CellColored()
。干杯,在当前单元格上方的第一个单元格中,您想将值复制到哪个单元格中?如果您付出一些努力(即,您自己的代码),您会得到更好的响应。首先,谷歌搜索“VBA如何检查单元格颜色”,然后搜索“VBA复制并粘贴单元格内容”。如果太高级,请从“VBA如何设置循环”和“VBA If语句”开始。让它发挥作用,然后回来,我们看看能不能帮上忙。