如何在Excel VBA中循环浏览列?
我想循环遍历第一行的每一列,如果在列标题中找到作业,那么我需要循环遍历该列的每个单元格,如果单元格值小于5,则为整行着色。这就是我正在尝试但失败的原因:如何在Excel VBA中循环浏览列?,excel,vba,Excel,Vba,我想循环遍历第一行的每一列,如果在列标题中找到作业,那么我需要循环遍历该列的每个单元格,如果单元格值小于5,则为整行着色。这就是我正在尝试但失败的原因: Sub rr() Dim a, i, col As Integer Dim r As Range r = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column a = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row For i = 2
Sub rr()
Dim a, i, col As Integer
Dim r As Range
r = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
a = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To a Step 1
For col = 1 To r Step 1
If Cells(1, col).Value = "job" Then Cells(1 + 1, col).Activate
For Each cell In r
If r.Value <= 5 Then ActiveSheet.Range(Cells(2, 1), Cells(2, r)).Interior.ColorIndex = 38 Else: Selection.Offset(1, 0).Selection
Next c
Next col
Next i
Sub-rr()
Dim a,i,col为整数
调光范围
r=ActiveSheet.Cells(1,Columns.Count).End(xlToLeft).Column
a=ActiveSheet.Cells(Rows.Count,1).End(xlUp).Row
对于i=2到步骤1
对于col=1至r步骤1
如果单元格(1,列).Value=“作业”,则单元格(1+1,列).Activate
对于r中的每个单元格
如果r.Value我不确定为什么不使用条件格式,但如果必须使用VBA,可能是这样的
Sub tgr()
Dim rngFound As Range
Dim rngColor As Range
Dim strFirst As String
ActiveSheet.AutoFilterMode = False
Set rngFound = Rows(1).Find("Job", Cells(1, Columns.Count), xlValues, xlWhole)
If Not rngFound Is Nothing Then
Cells.Interior.Color = xlNone
With Intersect(ActiveSheet.UsedRange, Columns(rngFound.Column))
.AutoFilter 1, "<=5"
On Error Resume Next
Set rngColor = .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Not rngColor Is Nothing Then rngColor.EntireRow.Interior.ColorIndex = 38
.AutoFilter
End With
Else
MsgBox "No column with heading ""Job"" exists in this worksheet.", , "Exiting macro"
End If
Set rngFound = Nothing
Set rngColor = Nothing
End Sub
Sub-tgr()
暗淡的rngFound As范围
暗淡的RNG颜色范围
Dim strFirst作为字符串
ActiveSheet.AutoFilterMode=False
设置rngFound=Rows(1).Find(“作业”,单元格(1,Columns.Count),xlValues,xlother)
如果不是,那么rngFound什么都不是
Cells.Interior.Color=xlNone
带Intersect(ActiveSheet.UsedRange,列(rngFound.Column))
.自动筛选1,“