Vba LIKE语句的对立面
如果不喜欢代码,我在获取代码时遇到了一些问题 下面是编码的一部分。似乎编码带来了第二条记录,该记录在被查看的字段中有Rail,但没有一条记录在该记录之前或之后有Rail 事实上,它应该带来在该领域任何地方都不包含rail的记录,但它也不这样做。任何反馈都将不胜感激Vba LIKE语句的对立面,vba,excel,Vba,Excel,如果不喜欢代码,我在获取代码时遇到了一些问题 下面是编码的一部分。似乎编码带来了第二条记录,该记录在被查看的字段中有Rail,但没有一条记录在该记录之前或之后有Rail 事实上,它应该带来在该领域任何地方都不包含rail的记录,但它也不这样做。任何反馈都将不胜感激 Set rngData = Intersect(wsData.UsedRange, wsData.Range("A:K")) j = 1 rngData.Rows(1).Copy Destination:=wsGal
Set rngData = Intersect(wsData.UsedRange, wsData.Range("A:K"))
j = 1
rngData.Rows(1).Copy Destination:=wsGalreq.Cells(j, 1)
For i = 2 To rngData.Rows.Count
If Not rngData.Cells(i, 11).Value = "SUPPLIER A" And rngData.Cells(i, 6).Value Like "*RAIL*" Then
j = j + 1
rngData.Rows(i).Copy Destination:=wsGalreq.Cells(j, 1)
End If
Next
您应该使用括号或逻辑来明确说明您的目标
If Not rngData.Cells(i, 11).Value = "SUPPLIER A" And rngData.Cells(i, 6).Value Like "*RAIL*" Then
与
If Not A And B
当你想要的时候
If Not A And Not B
您应该使用括号或逻辑来明确说明您的目标
If Not rngData.Cells(i, 11).Value = "SUPPLIER A" And rngData.Cells(i, 6).Value Like "*RAIL*" Then
与
If Not A And B
当你想要的时候
If Not A And Not B
作为VBA,最好先用更可能出现错误的条件编写如下逻辑(这样就不会运行冗余的第二个测试)
所以
如果不是一个
如果不是B
或者在你的情况下
If Not rngData.Cells(i, 11).Value = "SUPPLIER A" Then
If Not rngData.Cells(i, 6).Value Like "*RAIL*" Then
j = j + 1
rngData.Rows(i).Copy Destination:=wsGalreq.Cells(j, 1)
End If
End If
作为VBA,最好先用更可能出现错误的条件编写如下逻辑(这样就不会运行冗余的第二个测试)
所以
如果不是一个
如果不是B
或者在你的情况下
If Not rngData.Cells(i, 11).Value = "SUPPLIER A" Then
If Not rngData.Cells(i, 6).Value Like "*RAIL*" Then
j = j + 1
rngData.Rows(i).Copy Destination:=wsGalreq.Cells(j, 1)
End If
End If
或者它可以是
IF Not(A和B)
Perfect@alexmcmillan,我可以使用:IF A和Not B,因为我实际上希望它选择供应商A记录,但不选择描述中包含“Rail”的记录。谢谢或者它可以是IF Not(A和B)
Perfect@alexmcmillan,我可以使用:IF A和Not B,因为我实际上希望它选择供应商A记录,但不选择描述中包含“Rail”的记录。谢谢这是VBA中的供将来参考这是VBA中的供将来参考