【发布时间】:2016-10-12 16:24:50
【问题描述】:
我有一组行和列范围是 A:AC 并且行数可以是任何值
修复工作表和范围并使用此方法计算 RowCount 和 ColumnCount
Dim sheet As Worksheet
Dim LastRow As Long
Dim LastColumn As Long
Set sheet = ActiveWorkbook.Worksheets(1)
LastRow = sheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
LastColumn = sheet.Range("A1").CurrentRegion.Columns.Count
Set selectedRange = Range("A1:AC" & LastRow)
- 第一个条件:
我正在尝试将 F 列与 AC 进行比较,应该是 0 或 1。发现通过使用
For i =1 To LastRow
For j = 6 To LastColumn
If Cells(i, j).Value <> 0 And Cells(i, j) <> 1 Then
Cells(i, j).Interior.Color = vbGreen
End If
If Cells(i, j).Value > 1 Then
Cells(i, j).Interior.Color = vbRed
End If
Next j
Next i
- 第二个条件
在这些列中,我应该只有 一列 应该有 1 并保持为 0
我试过了,每次运行都会抛出不同的错误代码
- 第三个条件
从 A:AC 中查找重复行
我需要突出显示有错误的整个 行
But I have done which Column has error 与此声明
Cells(i, j).Interior.Color = vbRed
虽然很简单,但我无法弄清楚逻辑,因为我对 Excel VBA 完全陌生。
【问题讨论】:
-
range("blah").entirerow 整行开始
-
(a) 请注意,
Set selectedRange = Range("A1:AC" & LastRow)是在活动工作表上选择一个范围,而不是在您的其他语句正在访问的工作表上。您可能想说Set selectedRange = sheet.Range("A1:AC" & LastRow)- 但您似乎没有在其他地方使用 selectedRange 所以它可能没关系。 (b) 同样,“第一个条件”块中对Cells的所有引用都在访问活动工作表 - 您可能需要sheet.Cells。 -
您可能需要添加“之前”和“之后”场景图片