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