簡體   English   中英

在Excel中使用VBA遍歷特定顏色的單元格范圍

[英]Looping through range of cells of a particular colour using VBA in Excel

我正在尋找有關宏的幫助,該宏將遍歷指定行(8)中的所有單元格。 但是,為了使事情復雜化,我只關注特定顏色(藍色)的單元格,因為第8行中有很多單元格,但有些是綠色的。 為了使藍色單元格的子集進一步復雜化,我只想突出顯示包含“產品”,“ UOM”或“包裝尺寸”和“新單價”文本的單元格。一旦找到,我想突出顯示這些單元格是其標題的列。 然后,我想復制這些單元格並將其粘貼到新的工作簿中。

似乎有幾種方法可以執行此操作,我可以在第8行的所有單元格中進行循環,條件是突出顯示列。如果單元格包含指定的文本並且單元格為藍色。 但是,這似乎效率很低。 或者,我可以遍歷所有單元格,並在達到綠色單元格后停止。 這將為我提供藍色單元格的范圍。 然后,我可以遍歷藍色單元格的范圍,突出顯示標題包含指定文本的所有列。 我只是VBA的新手,並不十分了解語法。 我也很難找到有關循環通過僅包含指定顏色的單元的信息。 有人知道該怎么做嗎?

干杯!

Public Sub HighlightColumns(ByVal w As Worksheet)
  Dim c As Range
  Dim found As Range

  For Each c In Application.Intersect(w.Rows(8), w.UsedRange).Cells
    If c.Interior.Color = vbBlue Then
      Select Case c.Value
      Case "product", "UOM", "Pack size", "New Unit Price"
        If found Is Nothing Then Set found = c Else Set found = Application.Union(found, c)
      End Select
    End If
  Next

  If Not found Is Nothing Then found.EntireColumn.Select
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM