在选定的单元格上运行宏

时间:2014-01-07 13:30:23

标签: excel vba excel-vba cells

我编写了以下宏来帮助我完成VLOOKUP重复操作。 它有效,但我无法同时在几个单元格上运行它。

我想在宏的开头有一个代码。

非常感谢; - )

    Sub Croisement_ZANOX_BO()
'
' Croisement_ZANOX_BO Macro
'

'
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC3,BO!C[-18]:C[-11],1,FALSE)"
    ActiveCell.Offset(0, 1).Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC3,BO!C[-19]:C[-12],2,FALSE)"
    ActiveCell.Offset(0, 1).Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC3,BO!C[-20]:C[-13],3,FALSE)"
    ActiveCell.Offset(0, 1).Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC3,BO!C[-21]:C[-14],4,FALSE)"
    Selection.NumberFormat = "dd/mm/yy;@"
    ActiveCell.Offset(0, 1).Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC3,BO!C[-22]:C[-15],5,FALSE)"
    Selection.NumberFormat = "dd/mm/yy;@"
    ActiveCell.Offset(0, 1).Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC3,BO!C[-23]:C[-16],6,FALSE)"
    ActiveCell.Offset(0, 1).Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC3,BO!C[-24]:C[-17],7,FALSE)"
    ActiveCell.Offset(0, 1).Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC3,BO!C[-25]:C[-18],8,FALSE)"
    Selection.NumberFormat = "# ##0,00 €"
End Sub

1 个答案:

答案 0 :(得分:1)

你应该避免使用.Select/ActiveCell等@Makah建议。 INTERESTING READ

如果您要使用的公式是=VLOOKUP($C1,BO!D:XFA,N,FALSE),其中n是公式中的列号(基于您的上述代码),并且您希望将其说成{{1}然后使用像这样的简单循环

D1