【问题标题】:VLookup and drag and drop using vba in excel 2010在 excel 2010 中使用 vba 进行 VLookup 和拖放
【发布时间】:2013-06-10 21:27:36
【问题描述】:

我的代码从hc 获取emp_id,并将其放入A 列的另一个excel 文件仪表板中。我的第二个代码使用emp_id 作为参考,然后使用VLookup 获取员工属性。但我只能在指定范围内执行此操作。如何运行 col A 具有 emp_id 值的次数?或者,我不是手动将 VLookup 值向下拖动,而是尝试将其自动化到 col A 具有 emp_id 的次数。

这是检索 emp_id 的代码。

Sub test1()
' test1 Macro
'
' Keyboard Shortcut: Ctrl+Shift+P
    Dim wbk As Workbook
    Set wbk = Workbooks.Open("g:\Work\Global Headcount.xlsx")

    ' Windows("Global Headcount.xlsx").Activate
    Range("A2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.copy
    Windows("Dashboard_for_Roshan.xlsm").Activate
    Range("A4").Select
    ActiveSheet.Paste

   Call wbk.Close(False)

此代码填充特定范围的值

Sub RangeFill()
    Range("B4:ZZ4").Select
    Selection.AutoFill Destination:=Range("B4:ZZ8"), Type:=xlFillDefault
    Range("B4:ZZ8").Select
End Sub

我是新手,自从我使用 vba 已经一周了... 任何建议将不胜感激......

【问题讨论】:

    标签: vba excel excel-2010


    【解决方案1】:

    假设单元格 B1 包含您想要自动填充的公式,您可以执行以下操作:

    Range("B1").AutoFill Destination:=Range(Cells(1, 2), Cells(ActiveSheet.UsedRange.Rows.Count, 2))
    

    这会将 B1 中的公式填充到 B 列中数据的末尾。

    如果您有许多公式需要一次自动填充,您可以使用相同的方法,但可以像这样更改范围值:

    Range("B1:C1").AutoFill Destination:=Range(Cells(1, 2), Cells(ActiveSheet.UsedRange.Rows.Count, 3))
    

    【讨论】:

    • Ripster,老兄,你太棒了。像魅力一样工作为我节省了大量时间。但是我的代码突出显示了 emp_id 列我做错了什么?
    • 我很高兴听到它对您有用!您能解释一下突出emp_id 列的意思吗?如果它正在选择它,您可以添加一个 Range("A1").Select 以选择第一个单元格,只要自动填充正常工作。请详细说明一下?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多