ExcelmacrosVBA基本比较 – 但无法修复错误
我有一组行和列的范围是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
这个But I have done which Column has error
声明Cells(i, j).Interior.Color = vbRed
虽然这很简单,但我无法弄清楚这个逻辑,因为我对Excel VBA是全新的。
为了您的第一个条件:
For i = 1 To LastRow For j = 6 To LastColumn Select Case Cells(i, j).Value Case 0 Cells(i, j).EntireRow.Interior.Color = vbGreen Case 1 Cells(i, j).EntireRow.Interior.Color = vbRed Case Else Cells(i, j) = "Whetever" End Select if range("A" & i).value = 1 and range("AC" & i).value = 1 then Cells(i, j).EntireRow.Interior.Color = vbYellow end if Next j Next i
第2点现在添加。 对于删除重复,这取决于您的数据,但问题已经在这里问:
如何查找重复的行,然后删除其中的一个? 需要VBA