簡體   English   中英

使用 VBA 為 A 列中有數據的所有行填充 VLOOKUP 公式

[英]Populate VLOOKUP formula using VBA for all rows that have data in column A

我有一個包含個人分數的數據集,但該報告缺少團隊經理分配。 我有一個單獨的表格,其中包含團隊經理的分配。 棘手的部分是人們更換經理,我必須將分數與經理聯系起來,然后只有新數據才會轉移到新經理。

我的想法是我有一個查詢選項卡,可以將數據粘貼到其中。 有一個列總是為每條記錄顯示“項目”,不用於我的目的。 所以我想如果我做了一個控制按鈕來運行一個 VLOOKUP 來拉團隊經理分配,在一個 If 語句中,如果記錄在指定的列中包含“項目”,那么 VLOOKUP 運行並將工作“項目”替換為經理姓名。 這樣,如果有人更換經理,它將保留與特定經理相關的分數。

問題:似乎宏在第一行正確運行,但是,它只是在整個表中重復相同的經理名稱,其中顯示“項目”。 我怎樣才能讓它為每一行提取 VLOOKUP 數據並填充正確的團隊經理。

代碼:

Sub AssignTeams()
    If Sheets("CallScrubQuery").Range("G2") = "Item" Then
        Range("G2:G" & Range("A" & Rows.Count).End(xlUp).Row).Formula = Application.WorksheetFunction.VLookup(Sheets("CallScrubQuery").Range("A2"), Sheets("TeamAssignment").Range("$A$2:$B$200"), 2, False)
    End If
End Sub

如果總是在 A2 中查找值,為什么會期望結果不同?

您可以將公式輸入到第一個單元格中,然后使用另一個 VBA 語句將公式向下復制。 向下復制時,“A2”將調整到當前行。

或者編寫更改“A2”以引用當前行的代碼。

第一種方法可能更容易。 提示:使用宏記錄器來幫助您找出語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM