循环 - 无法获取范围类

时间:2018-01-04 21:05:26

标签: excel vba excel-vba

下面的代码检查两张纸以查看值是否匹配。例如,在它下面检查工作表5和工作表2.它在工作表5 - 第1列中查看插入到列中的值是否与工作表2 - 列47中的值匹配。如果插入的值匹配,则单元格保持白色如果没有,细胞会变红。

当我开始收到错误时,代码工作到现在为止:"无法获得Range类的内部属性" 。有人可以帮我这个吗?

此外,我实现了这个代码15次,因为需要检查15列。我唯一做的就是改变工作表中的列数。从此以后,随着循环的继续,有时代码的运行速度非常慢。我不知道如何编写代码以检查代码表中的列是否与另一个工作表中的另一列相匹配的任何其他解决方案,因为我相信这只能通过使用循环来完成。如果你们有任何建议,那对我很有帮助。

P.S。仅供参考我不确定这是否有用,但是在Sheet5的A列中我已经设置了条件格式设置,如果它们是空的,则将单元格变为红色,所以我可能认为循环代码与条件格式化公式重叠。

提前致谢!

Private Sub CommandButton1_Click()

Dim cc As Long
Dim aRec As Worksheet, bRec As Worksheet, wb As Workbook
Dim match

Set wb = Excel.ActiveWorkbook
Set aRec = wb.Worksheets(5)
Set bRec = wb.Worksheets(2)

Application.ScreenUpdating = False

For cc = 5 To aRec.UsedRange.Rows.count
    match = Application.match(aRec.Cells(cc, 1).Value, bRec.Columns(47), 0)

If IsError(match) Then
     aRec.Cells(cc, 1).Interior.Color = RGB(255, 0, 0)

Else
    aRec.Cells(cc, 1).Interior.Color = RGB(1000, 1000, 1000)

End If

    Next cc

0 个答案:

没有答案