【问题标题】:VBA/Excel If...Then...ElseIf...Else Statement copy down column issueVBA/Excel If...Then...ElseIf...Else 语句复制列问题
【发布时间】:2016-07-22 17:25:11
【问题描述】:

好的,我已经弄清楚了该声明,它可以按照我的需要进行。当我运行它时,它几乎会查找 Interior.Color,如果匹配,它会给我所述单元格颜色的 Text 值。只要有数据,如何将这个 If 语句复制并粘贴到整个列?

我不知道这个的 VBA 版本。所以我的 VBA 代码如下所示:

If Range("F2").Interior.Color = 255 Then
Range("AE2") = "Red"
ElseIf Range("F2").Interior.Color = 65252 Then
Range("AE2") = "Green"
Else
Range("AE2") = "New"
End If

我希望将整个语句复制到 AE 列,直到 F 列中没有数据(复制/粘贴),但它会相应更改,并跟随单元格向下。

希望我说得通。

谢谢

【问题讨论】:

    标签: excel if-statement vba


    【解决方案1】:

    由于您没有提到哪个Column保存数据,我假设它是Column F,您可以根据需要轻松修改代码。

    我也把你的IFs换成了Select Case,如果以后你有更多的条件可以测试。

    ' assuming your column that has data is Column F >> modify it according to your needed column
    lastRow = Cells(Rows.count, "F").End(xlUp).row
    
    For lRow = 2 To lastRow
        Select Case Range("F" & lRow).Interior.Color
            Case 255
                Range("AE" & lRow) = "Red"
    
            Case 65252
                Range("AE" & lRow) = "Red"
    
            Case Else
                Range("AE" & lRow) = "New"
    
        End Select
    Next lRow
    

    【讨论】:

    • F 列有彩色单元格,AE 列有结果。所以,我基本上想要的只是让 excel 告诉我单元格的颜色。这有帮助吗?
    • @user4223089 不完全是,F 列里面也有文字吗?如果不是,您的整个范围内的哪一列包含数据?从 F 到 AE 的一列是否包含相关数据?
    • 因此,F 列有数据和填充颜色(红色、黄色或绿色)。我上面的 IF 语句准确地告诉我它是否是这些颜色代码中的任何一个,如果不是,那么它会显示“新”。所以一切都很好,我只需要将它复制并粘贴到整个列,即 AE 列。
    • @user4223089 好的。所以我在答案中的代码适合,你测试过吗?
    • 刚刚再次测试,它的工作原理!你怎么知道这些东西?老实说,我似乎无法得到这个 VBA 东西,这让我感到非常沮丧。我非常喜欢它,但我似乎无法把头绕在它周围。甚至从未听说过 VBA 中的 Case 或 Select,听起来几乎像 SQL,但我会查看代码并对两者进行一些研究以理解它。非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多