[英]VBA Excel filling up interior color for Entirerow just to the last used column
我正在嘗試用顏色填充我的行,直到最后使用的列。
我試過了:
For i = 2 To lRow
If ActiveSheet.Range("O" & i).Value = "FULL" Then
ActiveSheet.Range ("O" & i), Cells(lCol).Interior.Color = RGB(155, 255, 0)
ElseIf ActiveSheet.Range("O" & i).Value = "NEW" Then
ActiveSheet.Range("O" & i).EntireRow.Interior.ColorIndex = 33
End If
Next
但我收到"Application defined or object-defined error" 。
此代碼是基於條件的。 當要找到值“FULL”或“NEW”直到最后一行時,必須突出顯示具有該值的行。 問題是,我不想使用整個行屬性,因為這種顏色永遠可見。 我只需要將.interior.Color 屬性限制為我使用的最后一列。
我怎樣才能做到這一點?
我找到了其他一些解決方案,我試圖從那里解決這個問題,但徒勞無功。
首先,我們需要正確定義lcol
Dim wo 作為工作表 Dim lCol as Long
然后始終將我們的工作表設置為優先級
Set wo = ThisWorkbook.ActiveSheet
lCol = wo.UsedRange.Columns(wo.UsedRange.Columns.Count - 14).Column
然后,定義我們的最后一列。
我放了-14,這意味着最后14列不會受到影響,按照這里的解釋:
ActiveSheet.UsedRange.Columns.Count - 8 是什么意思?
接下來我的代碼應該是這樣的:
For i = 2 To lRow
If ActiveSheet.Range("O" & i).Value = "FULL" Then
ActiveSheet.Range("A" & i).Resize(1, lCol).Interior.Color = RGB(155, 255, 0)
ElseIf ActiveSheet.Range("O" & i).Value = "NEW" Then
ActiveSheet.Range("O" & i).EntireRow.Interior.ColorIndex = 33
End If
Next
參考第一列 A 而不是“O”,從中提取過濾值。
您可以在這里找到另一種方式:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.