Vba 根据另一个单元格的数值更改x个单元格的颜色
我有范围,我想突出显示我在单元格范围(“C5”)中输入的基于单元格范围的值。如果我在单元格“C5”中输入5,则我的范围内的5个单元格需要更改为黄色。Vba 根据另一个单元格的数值更改x个单元格的颜色,vba,excel,Vba,Excel,我有范围,我想突出显示我在单元格范围(“C5”)中输入的基于单元格范围的值。如果我在单元格“C5”中输入5,则我的范围内的5个单元格需要更改为黄色。 有人能帮你吗?你需要介绍一个计数器并计数: Public Sub TestMe() Dim myRange As Range Dim myCell As Range Set myRange = Range("H8,J8,L8,N8,H10,H10,J10,L10,N10,H12,J12,L12,N12
有人能帮你吗?你需要介绍一个计数器并计数:
Public Sub TestMe()
Dim myRange As Range
Dim myCell As Range
Set myRange = Range("H8,J8,L8,N8,H10,H10,J10,L10,N10,H12,J12,L12,N12,H14,J14,L14,N14")
Dim cnt As Long
Dim times As Long
times = Range("C2")
For Each myCell In myRange
With myCell
.Interior.Color = vbBlue
End With
cnt = cnt + 1
If cnt = times Then Exit Sub
Next myCell
End Sub
其思想是每次代码循环时,计数器都会随着
1
而增加,因此cnt=cnt+1
。如果它恰好循环N次Range(“C2”)
,它将退出。您可以使用Range()
对象的Areas()
属性:
Public Sub ColorCells()
Dim iCell As Long
With Range("H8,J8,L8,N8,H10,J10,L10,N10,H12,J12,L12,N12,H14,J14,L14,N14") ' reference your range
For iCell = 1 To Range("C2").Value ' loop through needed areas
.Areas(iCell).Interior.Color = vbYellow
Next
End With
End Sub
注意:在您的MY_范围内
出现了两次“H10”
Public Sub ColorCells()
Dim iCell As Long
With Range("H8,J8,L8,N8,H10,J10,L10,N10,H12,J12,L12,N12,H14,J14,L14,N14") ' reference your range
For iCell = 1 To Range("C2").Value ' loop through needed areas
.Areas(iCell).Interior.Color = vbYellow
Next
End With
End Sub