VBA如何实现条件筛选并根据筛选列的不同内容来填充其他列 20
首先从第二行开始遍历 I 列所有单元格
如果单元格内有红字
判断该行A列单元格的值,如果前三个字符是"lab"
然后我没看懂啥叫D列单元格的前三个字段?是指3个字符吗?比如chemical就给他变成che然后填入C列?
如果A列是Correct 或者 issue 该行C列单元格填home
然后我又没看懂啥叫第三步保持第一步的筛选条件?意思是只是提示一下第三步继续对红字I列所在行进行操作嘛?还是说需要让sheet只显示I列红字的行?我想知道代码运行过后是否只显示I列红字的行,还是说只注重结果,有无筛选不重要。
由于使用了ActiveSheet,所以使用的时候要注意保持需要操作的表单被激活。
I列红字,A列前三字符Lab,C列等于D列前三字符
I列红字,A列等于Correct,C列等于home
I列红字,A列等于Issue,C列等于home
I列红字,A列空,G列等于No or Only,C列等于home
With ThisWorkbook.ActiveSheet
For i = 2 To .UsedRange.Rows.Count
If .Cells(i, 9).Font.ColorIndex = 3 Then
If Left(CStr(.Cells(i, 1).Value), 3) = "Lab" Then
.Cells(i, 3).Value = Left(CStr(.Cells(i, 4).Value), 3)
ElseIf CStr(.Cells(i, 1).Value) = "Correct" Or CStr(.Cells(i, 1).Value) = "Issue" Then
.Cells(i, 3).Value = "home"
ElseIf CStr(.Cells(i, 1).Value) = "" And CStr(.Cells(i, 7).Value) = "No or Only" Then
.Cells(i, 3).Value = "home"
End If
End If
Next i
End With