Vba 如何使用.EntireRow但跳过A列?
我正在寻找一个解决方法或者一些关于如何使用下面的代码摘录的想法,但是跳过a列 基本上,我用的是Vba 如何使用.EntireRow但跳过A列?,vba,excel,Vba,Excel,我正在寻找一个解决方法或者一些关于如何使用下面的代码摘录的想法,但是跳过a列 基本上,我用的是 .EntireRow(a.Row).Interior.Color = color 根据用户表单选择高亮显示行,但我需要跳过列a,因为它的标题有自己的高亮显示 有什么想法吗 If ToggleButton3.Value = True Then On Error Resume Next For iRow = 1 To 15 If Sheets("Prop" & iRow)
.EntireRow(a.Row).Interior.Color = color
根据用户表单选择高亮显示行,但我需要跳过列a,因为它的标题有自己的高亮显示
有什么想法吗
If ToggleButton3.Value = True Then
On Error Resume Next
For iRow = 1 To 15
If Sheets("Prop" & iRow).Visible <> xlSheetVisible Then
Else
With Sheets("Prop" & iRow).Range("$E$1:$E$157")
Set a = .Find(SlctdPAX, LookIn:=xlValues, LookAt:=xlWhole)
.EntireRow(a.Row).Interior.Color = RGB(255, 255, 102) 'yellow
End With
End If
Next iRow
ElseIf ToggleButton1.Value = True Then
On Error Resume Next
For iRow = 1 To 15
If Sheets("Prop" & iRow).Visible <> xlSheetVisible Then
Else
With Sheets("Prop" & iRow).Range("$E$1:$E$157")
Set a = .Find(SlctdPAX, LookIn:=xlValues, LookAt:=xlWhole)
.EntireRow(a.Row).Interior.Color = RGB(255, 0, 0) 'red
End With
End If
Next iRow
ElseIf ToggleButton4.Value = True Then
On Error Resume Next
For iRow = 1 To 15
If Sheets("Prop" & iRow).Visible <> xlSheetVisible Then
Else
With Sheets("Prop" & iRow).Range("$E$1:$E$157")
Set a = .Find(SlctdPAX, LookIn:=xlValues, LookAt:=xlWhole)
.EntireRow(a.Row).Interior.Color = xlNone 'no fill
End With
End If
Next iRow
ElseIf ToggleButton2.Value = True Then
On Error Resume Next
For iRow = 1 To 15
If Sheets("Prop" & iRow).Visible <> xlSheetVisible Then
Else
With Sheets("Prop" & iRow).Range("$E$1:$E$157")
Set a = .Find(SlctdPAX, LookIn:=xlValues, LookAt:=xlWhole)
.EntireRow(a.Row).Interior.Color = RGB(128, 255, 0) 'green
End With
End If
Next iRow
Else
End If
如果ToggleButton3.Value=True,则
出错时继续下一步
对于iRow=1到15
如果图纸(“道具”&iRow)。可见xlSheetVisible然后
其他的
带床单(“道具”和箭头)。范围($E$1:$E$157)
设置a=.Find(SlctdPAX,LookIn:=xlValues,LookAt:=xlWhole)
.EntireRow(a.Row).Interior.Color=RGB(255、255、102)“黄色
以
如果结束
下一步
ElseIf ToggleButton1.Value=True然后
出错时继续下一步
对于iRow=1到15
如果图纸(“道具”&iRow)。可见xlSheetVisible然后
其他的
带床单(“道具”和箭头)。范围($E$1:$E$157)
设置a=.Find(SlctdPAX,LookIn:=xlValues,LookAt:=xlWhole)
.EntireRow(a.Row).Interior.Color=RGB(255,0,0)“红色
以
如果结束
下一步
ElseIf ToggleButton4.Value=True然后
出错时继续下一步
对于iRow=1到15
如果图纸(“道具”&iRow)。可见xlSheetVisible然后
其他的
带床单(“道具”和箭头)。范围($E$1:$E$157)
设置a=.Find(SlctdPAX,LookIn:=xlValues,LookAt:=xlWhole)
.EntireRow(a.Row).Interior.Color=xlNone“无填充”
以
如果结束
下一步
ElseIf ToggleButton2.Value=True然后
出错时继续下一步
对于iRow=1到15
如果图纸(“道具”&iRow)。可见xlSheetVisible然后
其他的
带床单(“道具”和箭头)。范围($E$1:$E$157)
设置a=.Find(SlctdPAX,LookIn:=xlValues,LookAt:=xlWhole)
.EntireRow(a.Row).Interior.Color=RGB(128255,0)'绿色
以
如果结束
下一步
其他的
如果结束
假设a
是单个单元格
关于不突出显示A列
- 要突出显示整行
,请执行以下操作:a
a.EntireRow.Resize(,Columns.Count-1).Offset(,1).Interior.Color
- 要突出显示
下方标在一起的多行,例如5行,请执行以下操作:a
a.EntireRow.Resize(5,Columns.Count-1)、Offset(,1)、Interior.Color
- 要突出显示未标记在一起的多行,例如[E1]、[E3]、[E5]的整行,请执行以下操作:
Intersect(并集([E1]、[E3]、[E5]).EntireRow、Cells.Resize(、Columns.Count-1)、Offset(、1))
联合([E1]、[E3]、[E5]).EntireRow.Resize()
是不允许的
希望这能有所帮助。假设
a
是单个单元格
With ThisWorkbook.Sheets("Prop" & iRow)
Set a = .Range("$E$1:$E$157").Find(SlctdPAX, LookIn:=xlValues, LookAt:=xlWhole)
a.EntireRow.Resize(1, .Cells(a.row, .Columns.Count - 1).column).Offset(, 1).Interior.Color = RGB(255, 0, 0) 'red
End With
关于不突出显示A列
- 要突出显示整行
,请执行以下操作:a
a.EntireRow.Resize(,Columns.Count-1).Offset(,1).Interior.Color
- 要突出显示
下方标在一起的多行,例如5行,请执行以下操作:a
a.EntireRow.Resize(5,Columns.Count-1)、Offset(,1)、Interior.Color
- 要突出显示未标记在一起的多行,例如[E1]、[E3]、[E5]的整行,请执行以下操作:
Intersect(并集([E1]、[E3]、[E5]).EntireRow、Cells.Resize(、Columns.Count-1)、Offset(、1))
联合([E1]、[E3]、[E5]).EntireRow.Resize()
是不允许的
希望这有帮助
With ThisWorkbook.Sheets("Prop" & iRow)
Set a = .Range("$E$1:$E$157").Find(SlctdPAX, LookIn:=xlValues, LookAt:=xlWhole)
a.EntireRow.Resize(1, .Cells(a.row, .Columns.Count - 1).column).Offset(, 1).Interior.Color = RGB(255, 0, 0) 'red
End With
这与谢恩已经发布的内容相当多
但是我担心,他的代码,在中,包含了表单(“Prop”和iRow).Range(“$E$1:$E$157”)
块,会给1到157之间的所有行着色
此外,Columns.Count
将计算活动工作表的列数,这可能不是所需的列数
这与谢恩已经发布的内容相当多
但是我担心,他的代码,在中,包含了表单(“Prop”和iRow).Range(“$E$1:$E$157”)
块,会给1到157之间的所有行着色
此外,
Columns.Count
将计算活动工作表的列数,这可能不是所需的列数.Range(.Cells(a.Row,2),.Cells(a.Row,16384)).Interior.Color=Color
@ScottCraner-使用.Columns.Count
而不是16384
将使其在较旧的XL平台上工作(或者如果将来增加列数)。这一点很小,但会使代码更具可持续性。@ScottHoltzman,你当然是对的。我没在想。为什么不在使用entirerow命令后对列a执行删除格式设置呢?.Range(.Cells(a.Row,2),.Cells(a.Row,16384)).Interior.Color=Color
@ScottCraner-使用.Columns.Count
而不是16384
将使其在较旧的XL平台上工作(或者如果将来增加列数)。这一点很小,但会使代码更具可持续性。@ScottHoltzman,你当然是对的。我没有想过。为什么不在使用entirerow命令后对a列执行删除格式设置
?谢谢,我最喜欢这个答案,因为它捕获了整行内容。我添加了一个尚未批准的编辑。具体来说,它是It’需要在每个逗号前添加“hightlight的行数”和“突出显示哪一行”。不客气。您需要多行未连接在一起的行突出显示吗?我刚刚更新了答案,如果您有任何问题,请告诉我。现在很晚了,我会回到u tomoro,谢谢,我喜欢这个answer是最好的,因为它捕获了整行。我添加了一个尚未批准的编辑。具体来说,它解决了在每个逗号之前添加“要高亮显示的行数”和“要高亮显示的行数”的需要。Resize不客气。是否需要将未连接在一起的多行高亮显示?我刚刚更新了a回答,让我