-1
我有一个VBA代码,你可以看到下面,我记录它。在录制它时,它会以偏移量格式编写公式。所以我不知道如何更改范围我需要重新格式化我的Vlookup公式excel
如何转换; R3C[-3]:R[1488]C[2]
这通常是B$3:G1489
到:
B $ 3:(列 “G” 最后一个活动单元格)
我怎么能这样做?
Sub duzenle()
Columns("E:E").Select
Selection.Copy
Range("L1").Select
ActiveSheet.Paste
Range("E12").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-3],C.A.!R3C[-3]:R[1488]C[2],4,0),IF(ISBLANK('2017'!RC[7]),"""",'2017'!RC[7]))"
Range("E12").Select
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.End(xlDown)), Type:=xlFillDefault
Range(ActiveCell, ActiveCell.End(xlDown)).Select
Columns("E:E").Select
Selection.Copy
Range("E1").Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Columns("L:L").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Range("A1").Select
MsgBox "'C.A' Degerleri Guncellenmistir."
End Sub
@efe可以tercan你读过我的回答上面?任何反馈 ? –
我刚读和尝试,但它给了一个错误“范围(‘E12’)。公式= _“”,我不知道为什么,看到下面 ”子duzenle() 列(“ E:E “)复制范围(” L1 “) 范围(” E12 “)。选择 Application.CutCopyMode =假 随着工作表(” CA“) LASTROW = .Cells(.Rows。 (“E12”)。Formula = _(“E12”)。结束(xlUp)。行 End With 范围 “= IFERROR(VLOOKUP(B3,CA!B $ 3:G”&LastRow& “,4,0),IF(ISBLANK('2017'!L12),”“,'2017'!L12)) '' –
使用'_'字符可以将长命令分成几行。它必须是该行中的最后一个字符。如果你不拆分语句,删除'_'字符。 – teylyn