返回列表 上一主題 發帖

[發問] vlookup抓取

[發問] vlookup抓取

=IFERROR(VLOOKUP($C2,'\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\X.自動化工具(勿刪)\AL每月目標\[AL-202306目標.xlsx]6月 (SAAM&FAAM)'!$B:$G,4,0),"")

有辦法完成下面兩個條件嗎??
202306->抓取O3單元格
6月的"6"->抓取O4單元格

底下是我的寫法,但是沒有抓到任何資料
=IFERROR(VLOOKUP($C2,'"\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\X.自動化工具(勿刪)\AL每月目標\[AL-"&O3&"目標.xlsx]"&O4&"月 (SAAM&FAAM)"'!$B:$G,4,0),"")

回復 1# cowww

同事給了我一段語法,卻出現了更新活頁簿連結
請問這是怎麼一回事??
AL最大月份.PNG
2023-7-24 14:57


Sub 按鈕4_Click()

'計算選項改為自動
Application.Calculation = xlCalculationAutomatic

'關閉提示
Application.DisplayAlerts = False

    Dim formulaCell As Range
    Dim workbook_name As String
    Dim worksheet_name As String

    ' 設置函數公式在單元格O2
    Set formulaCell = Worksheets("公式(勿刪)").Range("O2")

    ' 獲取要放入公式的key(key在C2獲取)
    Dim lookup_value As String
    lookup_value = "$C2"

    ' 獲取 "AL-202307目標.xlsx" 和 "7月 (SAAM&FAAM)",分別在單元格 P3 和 P4 獲取
    workbook_name = Worksheets("公式(勿刪)").Range("P3").Value
    worksheet_name = Worksheets("公式(勿刪)").Range("P4").Value

    ' 构建公式字符串,并使用兩個雙引號進行轉換
    Dim formula As String
    formula = "=IFERROR(VLOOKUP(" & lookup_value & ", '" & workbook_name & "'!" & "$B:$G, 4, 0), """")"

    ' 將公式放入公式單元格 O2
    formulaCell.formula = formula

    ' 關閉打開的工作簿
    Dim wb As Workbook
    Set wb = Workbooks.Open("\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\X.自動化工具(勿刪)\AL每月目標\" & workbook_name, UpdateLinks:=False)
    wb.Close SaveChanges:=False

'開啟提示
    Application.DisplayAlerts = True
   
End Sub

TOP

改成這樣看看

=IFERROR(VLOOKUP($C2,

INDIRECT("'\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\X.自動化工具(勿刪)\AL每月目標\[AL-" & O3 & "目標.xlsx]" & O4 & "月 (SAAM&FAAM)'!$B:$G")

,4,0),"")
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 3# ML089

非常感謝ML089大大的解惑

但是這段函數公式沒有任何值出來
123.PNG
2023-7-24 16:26

C2.PNG
2023-7-24 16:26

TOP

回復 4# cowww

在編輯列,使用F9去排查每段公式裡的參數或值是哪裡有問題
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 5# ML089

非常感謝ML089大大的解惑

但是按下F9之後公式消失,也沒有數值跑出來

TOP

回復 6# cowww

INDIRECT("'\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\X.自動化工具(勿刪)\AL每月目標\[AL-" & O3 & "目標.xlsx]" & O4 & "月 (SAAM&FAAM)'!$B:$G")

    你要先選取 "'\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\X.自動化工具(勿刪)\AL每月目標\[AL-" & O3 & "目標.xlsx]" & O4 & "月 (SAAM&FAAM)'!$B:$G"
    按F9,看出現的文字是否你要的儲存格位置
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

如下只是示例//自己套用看看

Fx$ = "=IFERROR(VLOOKUP($C2,'\\shl-group.com\dept\MFMG\B.各組資料 (Team inform)\E.生管組 (PPC group)\X.自動化工具(勿刪)\AL每月目標\[AL-xYM目標.xlsx]xMon月 (SAAM&FAAM)'!$B:$G,4,0),"""")"

年月$="202306"  --指定儲存格
月份$="6"  --指定儲存格

Fx=replace(replace(Fx, "xYM", 年月), "xMon", 月份)

formulacell.formual = Fx

TOP

回復 7# ML089


非常感謝ML089大大的解惑

按下F9確實"O3"&"O4"有變成我想要的數字
但是為何會沒抓到檔案堶悸獐あr呢??

TOP

回復 8# 准提部林

非常感謝准提部林大大的解惑
很複雜的公式
看不懂,小弟需要時間研究

TOP

        靜思自在 : 盡多少本份,就得多少本事。
返回列表 上一主題