我不知道如何使用 Varibale (例如 X )。
使用此代码即时寻找 PS16111 这是一个采购订单编号,我创建一个新的列,然后每行具有相同的值将是#N / A,然后在此代码的末尾,我将删除 #N / A 行,这意味着将删除所有 PS16111 。这是我想要做的,但使用不同的输入。
我尝试了使用变量而不是 PS16111 的不同方法,但我找不到任何方法。
感谢。
列(3).EntireColumn.Insert
使用范围(“C2:C”& ActiveSheet.UsedRange.Rows.Count)
.FormulaR1C1 = =IF(RC[1]="""","""",IF(RC[1]=""PS16111"",NA()))"
.Value = .Value
On Error Resume Next
.SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete
End With
On Error GoTo 0
Columns(3).EntireColumn.Delete
答案 0 :(得分:0)
首先,您错过了公式中的前导"
然后回答您的问题,请使用
x = "PS16111"
rng.FormulaR1C1 = "=IF(RC[1]="""","""",IF(RC[1]=""" & x & """,NA()))"
将产生公式
=IF(B1="","",IF(B1="PS16111",NA()))
答案 1 :(得分:0)
'在一切之前感谢 chris neilsen 来完成拼图。 在这种情况下,我将所有代码放在一起,你想在你的项目中使用它。
使用此代码,您将能够在Sheet2中 C2中找到一个字符串。
然后返回 Sheet1 并创建一个新的空 C列
然后计算Sheet1中有多少行
然后查找变量 X ,如果发现 #N / A ,如果不是错误。
所有包含#N / A值的行都将被删除。
最后,C列将被删除。
“---------------------------------------------- ------------------------------
Dim X As String
X =工作表(“sheet2”)。范围(“C2”)。值
工作表( “工作表Sheet”)。选择
列(3).EntireColumn.Insert
使用范围(“C2:C”& ActiveSheet.UsedRange.Rows.Count)
.FormulaR1C1 = "=IF(RC[1]="""","""",IF(RC[1]=""" & X & """,NA()))"
.Value = .Value
On Error Resume Next
.SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete
End With
On Error GoTo 0
Columns(3).EntireColumn.Delete