1
我是VBA的新手 - 完全是外语,尽我所能理解。卡在每个循环 - 无休止地搜索匹配
我想写一段代码,这将帮助我在一个工作表中基于另一个工作表中的表格中的单元格的内部颜色格式的颜色代码项目。我已经在基本级别上实现了它,但当用于颜色编码的单元格的值无法与Sheet2中的表中的任何值匹配时,它们就已经脱落。理想情况下,我希望在这种情况下执行的操作只是向下移动到单元格1行并继续循环,但实际发生的是它在Sheet2中的表格中循环寻找匹配。我尝试了各种Else和ElseIf语句来试图阻止这一点,但是没有一个会导致期望的结果。我写的代码(得很厉害,我敢肯定)低于:
Sub Colour_Code_Cells()
Dim xlRange As Range
Dim xlCell As Range
Dim xlSheet As Worksheet
Dim formatSheet As Worksheet
Dim formatRange As Range
Dim formatCell As Range
Set xlSheet = ActiveWorkbook.Worksheets("colourcode")
Set xlRange = xlSheet.Range("A1:A10")
Set formatSheet = ActiveWorkbook.Worksheets("Sheet1")
Set formatCell = formatSheet.Range("A2")
formatCell.Activate
Do Until Selection.Value = ""
For Each xlCell In xlRange
If xlCell.Value = ActiveCell.Value Then
ActiveCell.Interior.Color = xlCell.Interior.Color
ActiveCell.Offset(1, 0).Select
End If
Next xlCell
Loop
End Sub
任何建设性的提示,将最感激地接受。你如何告诉它停止查看每个Next xlCell,如果它已经看过一次?
提前感谢
斯科特太感谢你了完美的作品。我可能会花费我早上的时间,确保我完全理解For Each命令中的每条指令实际上正在做什么 - 很好地了解知道它的工作原理,而不是重复试验和改变:) – NTen
@NTen请通过点击答案中的复选标记标记为正确 –