Excel VBA如果cell.value = ..则Range(选择).offset()。值问题

时间:2016-08-18 17:57:08

标签: excel vba excel-vba

我在下面的代码中收到错误:

For Each cell In Range("H2", Selection.End(xlDown).End(xlDown).End(xlUp)).SpecialCells(xlCellTypeVisible)
If cell.Value = Range(Sheets("Mapping").Cells(4, x)).Value Then
Range(Selection).Offset(0, -7).Value = "=IF(LEFT(RC9,8)=Mapping!R8C1,""YES"",""NO"")"
Else
End If

这是一个更大的代码的一部分,我试图将列H中的每个可见单元格与映射表上的单元格进行比较,如果正确,则将if语句添加到A列中。

尝试在另一个包含AND语句的if语句中使用cell.value时遇到类似的问题,请参阅下文。在这种情况下,列I的FOR语句类型相同。将第I列中的每个值与映射表上的两个不同单元格进行比较,如果正确,则将A列的值更改为YES。两条线在第3行断开,第二条码在第二行断开。

For Each cell In Range("I2", Selection.End(xlDown).End(xlDown).End(xlUp)).SpecialCells(xlCellTypeVisible)
If cell.Value = Range(Sheets("Mapping").Cells(4, x)).Value And cell.Value = Range(Sheets("Mapping").Cells(9, 1)).Value Then
Range(Selection).Offset(0, -7).Value = "YES"
Else
'do nothing

非常感谢任何帮助。 感谢。

1 个答案:

答案 0 :(得分:1)

你正试图这样做:

/index.js

我不确定变量For Each cell In Range("H2:H" & Range("H" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible) If cell.Value = Sheets("Mapping").Cells(4, x).Value Then cell.Offset(0, -7).FormulaR1C1 = "=IF(LEFT(RC9,8)=Mapping!R8C1,""YES"",""NO"")" End If Next 包含什么 - 我只是假设您的代码意味着要检查工作表“映射”的第4行第x列中的值”。如果您希望x4或其他内容,则需要进行必要的更改。

您的其他代码块可能类似于:

cell.Row