VBA如何实现条件筛选并根据筛选列的不同内容来填充其他列

首先对I列进行筛选,筛选之后再对A列进行筛选,根据A列的内容填充C列对应行的单元格,在对a列内容进行判断的过程中还会需要结合A列和G列同时进行筛选并填充C列。如图所示。

首先从第二行开始遍历 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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-28
写代码来处理吧!需要文档哦

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网