我有很多变量存储在一个数组中。我正在尝试使用 If Then 语句来查看特定单元格的值是否在该数组中。这是我的代码:
Dim Vars1 As Variant
Vars1 = Array("Stage 2", "Stage 3", "Stage 4", "Stage 5", "Stage 6", "Stage 7", "WIP Cleanup",
"Road Test", "Test", "Test Cleanup", "In Bay Inspection", "In Bay Clean Up", "PDI", "PDI
Cleanup", "Verify", "Complete", "Pictures", "Remove", "ECD", "Platform Install", "#N/A")
'Cuts special delivery parts for Line 3
For RowCounter = LastRow To 1 Step -1
If InStr(1, Range("F" & RowCounter), "underslung", vbTextCompare) Then 'Underslung
If Range("B" & RowCounter).Value = "FA Line 3" And Range("N" & RowCounter).Value = Vars1 Then
Rows(RowCounter).EntireRow.Cut _
Destination:=Sheets("FA3").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End If
End If
Next RowCounter
我认为代码不起作用,因为它没有剪切和粘贴行。如何获取 if then 语句来检查“Range("N" & RowCounter)”中的值是否在数组中?
这部分代码,您将单个值与数组进行比较。您应该检查该值是否在数组中。我不知道是否有执行此操作的 Excel VBA 函数。编写一个测试值是否在数组中的函数并不难。这是一个想法,
为了测试这个功能,
所以,如果你有你的情况,在我回答的第一行,试试这个;
希望这可以帮助
新泽西州
解决此问题的另一种方法是停止将常量描述为数组。将其描述为
并使用与
InStr(...)
F 列相同的方法