【问题标题】:Set color for multiple columns in VBA excel在VBA excel中为多列设置颜色
【发布时间】:2020-02-26 18:17:31
【问题描述】:

我有一些工作代码,基于此链接:

https://software-solutions-online.com/excel-vba-column-fill-color/

还有:

Color values in Excel VBA

如下所示:

   Sub color()
   Sheets("10_WORLD_LIGHT_USE").Activate
   Range("CH900:CH1261").Interior.color = RGB(0, 255, 204)
   Range("CK900:CK1261").Interior.color = RGB(0, 255, 204)
   Range("CN900:CN1261").Interior.color = RGB(0, 255, 204)
   Range("CR900:CR1261").Interior.color = RGB(0, 255, 204)
   End Sub

虽然我认为它可以写成更短的形式。相同颜色的列每 3 列重复一次。

写这个命令的更短的方法是什么?

【问题讨论】:

    标签: excel vba


    【解决方案1】:
    Sub color()
    
    With Sheets("10_WORLD_LIGHT_USE")
        .Range("CH900:CH1261,CK900:CK1261,CN900:CN1261,CR900:CR1261").Interior.color = RGB(0, 255, 204)
    End With
    
    End Sub
    

    或者:

    Sub color()
    
    With Sheets("10_WORLD_LIGHT_USE")
        Intersect(.Range("900:1261"), .Range("CH:CH,CK:CK,CN:CN,CR:CR")).Interior.color = RGB(0, 255, 204)
    End With
    
    End Sub
    

    【讨论】:

      【解决方案2】:

      如果你想要一个循环,你可以按照以下方式做一些事情:

      Sub color()
      
      Dim i As Long
      
      With Sheets("10_WORLD_LIGHT_USE") 'don't need to activate sheet
          For i = 0 To 2
              .Range("CH900:CH1261").Offset(, 3 * i).Interior.color = RGB(0, 255, 204)
          Next i
      End With
      
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-06
        • 1970-01-01
        • 2013-05-19
        • 1970-01-01
        • 2015-10-07
        • 1970-01-01
        • 2010-09-27
        • 1970-01-01
        相关资源
        最近更新 更多