Vba 使用忽略false values子句的IF语句
我有一个excel数据列表,包括“是”和“否” 我需要一个IF语句,它只作用于值为“Yes”的单元格,并跳过值为“No”的单元格 对于上下文,if语句的'value if true'子句是一个indexmatchmatch,它需要在工作表中根据“Yes”或“No”返回一个值 我知道这可能有一个使用VBA的简单解决方案,所以如果任何人有一个基于excel的解决方案或基于VBA的解决方案,他们将同样有用 如果需要,我可以向正在使用的数据集添加列和行。尝试以下操作:Vba 使用忽略false values子句的IF语句,vba,excel,Vba,Excel,我有一个excel数据列表,包括“是”和“否” 我需要一个IF语句,它只作用于值为“Yes”的单元格,并跳过值为“No”的单元格 对于上下文,if语句的'value if true'子句是一个indexmatchmatch,它需要在工作表中根据“Yes”或“No”返回一个值 我知道这可能有一个使用VBA的简单解决方案,所以如果任何人有一个基于excel的解决方案或基于VBA的解决方案,他们将同样有用 如果需要,我可以向正在使用的数据集添加列和行。尝试以下操作: Sub YesNo() Dim l
Sub YesNo()
Dim lRow As Long
Dim sht As Worksheet
Set sht = Worksheets("Tabelle1")
lRow = sht.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lRow
If sht.Cells(i, 1).Value = "True" Then 'Modify Column
'Your Code
End If
Next i
End Sub
试试这个:
Sub YesNo()
Dim lRow As Long
Dim sht As Worksheet
Set sht = Worksheets("Tabelle1")
lRow = sht.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lRow
If sht.Cells(i, 1).Value = "True" Then 'Modify Column
'Your Code
End If
Next i
End Sub
用VBA实现
假设在工作表中,您有
A Yes
B Yes
C No
A Yes
B No
C Yes
A No
B No
运行宏后,工作表2中只有在工作表1中有“是”的行。请根据您的要求修改代码
Sub g()
Dim lastRow As Long
Dim sheet As Worksheet
Set sht = Worksheets("Sheet1")
Set sht1 = Worksheets("Sheet2")
lRow = sht.Cells(Rows.Count, 1).End(xlUp).Row
Dim j As Long
j = 1
For i = 1 To lRow
If sht.Cells(i, 2).Value = "Yes" Then
sht1.Cells(j, 1).Value = sht.Cells(i, 1).Value
j = j + 1
End If
Next i
End Sub
用VBA实现
假设在工作表中,您有
A Yes
B Yes
C No
A Yes
B No
C Yes
A No
B No
运行宏后,工作表2中只有在工作表1中有“是”的行。请根据您的要求修改代码
Sub g()
Dim lastRow As Long
Dim sheet As Worksheet
Set sht = Worksheets("Sheet1")
Set sht1 = Worksheets("Sheet2")
lRow = sht.Cells(Rows.Count, 1).End(xlUp).Row
Dim j As Long
j = 1
For i = 1 To lRow
If sht.Cells(i, 2).Value = "Yes" Then
sht1.Cells(j, 1).Value = sht.Cells(i, 1).Value
j = j + 1
End If
Next i
End Sub
您自己做过哪些代码/研究?另外,对这个问题多做一点讨论也会有帮助。我自己也尝试过excel解决方案,但我的vba技能不能胜任这项任务,我尝试过,但失败了。这不管用吗<代码>=如果(A1=“Yes”,”)您自己尝试过哪些代码/研究?另外,对这个问题多做一点讨论也会有帮助。我自己也尝试过excel解决方案,但我的vba技能不能胜任这项任务,我尝试过,但失败了。这不管用吗
=如果(A1=“Yes”,”)
问题在于,如果存在错误值,我希望忽略它们,并在列表中查找下一个“Yes”,然后对其应用indexmatchmatch如果我理解正确,您有一个列值为“Yes”或“No”的行列表,如果值为“Yes”,则在下一列中您希望显示“indexmatchmatch”否则空白=如果(=“是”、“indexmatchmatch”和“”。您可以拖动所有行的公式。它们不是相邻的,我需要的是一个使用indexmatchmatch公式完全填充的列(无间隙),但现在由于应用于“Yes”或“no”字段的IF语句,IF语句拾取“no”时有间隙。如果我也将If语句应用于“No”,那么我的数据将不一致。我已经修改了答案,以使用VBA实现它。希望它能有所帮助问题是,如果存在错误值,我希望忽略它们,并在列表中查找下一个“是”,然后将indexmatchmatch应用到该列表中。如果我理解正确,您有一个列值为“是”或“否”的行列表,如果值为“是”,则在下一列中您希望显示“indexmatchmatch”否则空白=如果(=“是”、“indexmatchmatch”和“”。您可以拖动所有行的公式。它们不是相邻的,我需要的是一个使用indexmatchmatch公式完全填充的列(无间隙),但现在由于应用于“Yes”或“no”字段的IF语句,IF语句拾取“no”时有间隙。如果我也将If语句应用于“No”,那么我的数据将不一致。我已经修改了答案,以使用VBA实现它。希望能有所帮助