2015-10-22 24 views
-1

我的代碼循環了大量的數據,複製了列B中包含短語Flowing的任何行,並將該行粘貼到另一個工作表中。該代碼是:「如果......然後」循環以突出顯示行

Sub HighlightFlowingIntervals() 

Worksheets("3901").Activate 

Dim i As Long 
Dim cell As Range 
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("3901") 
Dim ws2 As Worksheet: Set ws2 = ThisWorkbook.Sheets("Sheet2") 

For i = 6 To ws1.Range("C17300").End(xlUp).Row 
    If ws1.Cells(i, "B").Value = "Flowing" Then ws1.Rows(i).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, 2).End(xlUp).Row + 1) 
Next i 

End Sub 

我現在想用循環的結構相同,但不是複製和粘貼每一行,只是強調,通過了「If..Then」標準的每一行。我知道如何使用宏記錄器突出顯示,但除非必須,否則不想這樣做。我只是不確定如何在循環中實現突出顯示。

+0

顯示,記錄作出突出顯示該行的行。 –

+4

任何你不想使用條件格式的原因? – Soulfire

+0

@Soulfire,根本沒有理由。我不是超級經驗豐富的,只是尋找任何建議。我聽說盡量避免使用「選擇」等,所以我試圖找到另一種方式。下面是宏錄製吐出: 範圍。( 「A4:O4」)選擇 範圍(選擇,Selection.End(xlDown))選擇 隨着Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic 。 ThemeColor = xlThemeColorDark1 .TintAndShade = -0.149998474074526 .PatternTintAndShade = 0 End With – Willarci3

回答

1

只需使用條件格式。

  1. 選擇要檢查
  2. 選擇所有單元格「條件格式...」>「突出顯示單元格規則...」>「包含...文本」
  3. 進入「流動」
  4. 選擇一個亮點顏色
  5. 單擊「確定」,並觀察包含文字的單元格亮起!
0

您需要拆分你then

Sub Button1_Click() 


    Dim i As Long 
    Dim cell As Range 
    Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("3901") 
    Dim ws2 As Worksheet: Set ws2 = ThisWorkbook.Sheets("Sheet2") 
    With ws1 
     For i = 6 To .Cells(.Rows.Count, "C").End(xlUp).Row 
      If .Cells(i, "B").Value = "Flowing" Then 
       .Rows(i).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, 2).End(xlUp).Row + 1) 
       .Range(.Cells(i, "A"), .Cells(i, "D")).Interior.Color = vbYellow 
      End If 
     Next i 
    End With 
End Sub