Excel 将公式更改为下一个单元格
我试图将vlookup中的值与左侧列中的静态值进行比较,然后粘贴匹配的值 列J包含静态值 K列包含引用另一张图纸的vlookup公式 我需要遍历K列,如果vlookup中的值与J列中同一行中的值匹配,那么将该值粘贴到K列中 因此,如果单元格J2=240.89,且单元格K2中的vlookup值=240.89,则将值240.89粘贴到K2中 到目前为止,我的代码在整个范围内循环,但在最后粘贴的值处停止,并忽略vlookup公式 以下是我的代码:Excel 将公式更改为下一个单元格,excel,vba,Excel,Vba,我试图将vlookup中的值与左侧列中的静态值进行比较,然后粘贴匹配的值 列J包含静态值 K列包含引用另一张图纸的vlookup公式 我需要遍历K列,如果vlookup中的值与J列中同一行中的值匹配,那么将该值粘贴到K列中 因此,如果单元格J2=240.89,且单元格K2中的vlookup值=240.89,则将值240.89粘贴到K2中 到目前为止,我的代码在整个范围内循环,但在最后粘贴的值处停止,并忽略vlookup公式 以下是我的代码: Option Explicit Sub CheckV
Option Explicit
Sub CheckValue()
Dim myRange As Range
Dim cell As Range
Set myRange = Range("K2:K3194")
For Each cell In myRange
If cell.Value = cell.Offset(0, -1) Then
cell.Copy
cell.PasteSpecial xlPasteValues
End If
Next cell
End Sub
感谢您的帮助 试试看
For Each cell In myRange
If cell.Value2 = cell.Offset(0, -1).Value2 Then
cell.value = cell.value
End If
Next cell
或者可以使用WorksheetFunction.Round将值匹配到特定精度。我觉得这比什么都重要。试试看
For Each cell In myRange
If cell.Value2 = cell.Offset(0, -1).Value2 Then
cell.value = cell.value
End If
Next cell
或者可以使用WorksheetFunction.Round将值匹配到特定精度。我觉得这比什么都重要。只是为了好玩,还有一个选择:
Sub Test()
Dim ws as Worksheet: Set ws = Thisworkbook.Worksheets("Sheet1")
ws.Range("K2:K3194").Value = ws.Evaluate("IF(K2:K3194=J2:J3194,J2:J3194,FORMULATEXT(K2:K3194))")
End Sub
注:这需要一个自Excel2013年起可用的功能 只是为了好玩另一个选择:
Sub Test()
Dim ws as Worksheet: Set ws = Thisworkbook.Worksheets("Sheet1")
ws.Range("K2:K3194").Value = ws.Evaluate("IF(K2:K3194=J2:J3194,J2:J3194,FORMULATEXT(K2:K3194))")
End Sub
注:这需要一个自Excel2013年起可用的功能@ TeXAS2014——如果你用它作为最终答案,请考虑标记:@ TeXAS2014——如果你用它作为最终答案,请考虑标记。