返回列表 上一主題 發帖

[發問] EXCEL多個工作頁資料彙整

[發問] EXCEL多個工作頁資料彙整

EXCEL內有3個工作頁
要在Sheet2內找到課戶批號"A120004",抓取上/下各3筆資料,共7筆資料,放到Sheet3
在用Sheet3內的Tcode,到Sheet1將對應的B1/B2/B3/B4資料抓到Sheet3內
再算出B1/B2/B3/B4的失敗率(EX:B1/輸入量)
請問這樣巨集要如何寫,謝謝



資料抓取.zip (8.06 KB)

回復 2# Hsieh
謝謝版大指導,有幾個問題請教一下
1.客戶批號都顯示"A120004"


2.還有一種情形是該客戶批號無TCode時B1~B4就顯示N/A
或是有TCode但在Sheet1找不到此TCode,B1~B4就顯示N/A

TOP

回復 4# Hsieh


第一個問題我已經解決,要回覆版主時剛好看到版主也回覆了
Ar(i + 4) = Array(A.Offset(i, -5).Value, A.Offset(i, 0).Value, A.Offset(i, 2).Value, Cnt, TCode, b1, b1 / Cnt, b2, b2 / Cnt, b3, b3 / Cnt, b4, b4 / Cnt)

如果找不到資料就讓欄位顯示N/A

TOP

回復 4# Hsieh


    板大不好意思因為趕去上課,所以第2個問題沒寫得很清楚
     1.客戶批號抓出後,某一客戶批號Tcode欄沒有編碼(空白),那該筆客戶批號的B1~B4就顯示0
     2.某Tcode在Sheet1裡找不到相符資料,那該筆資料的B1~B4就顯示0

TOP

回復 7# Hsieh


    第一個問題已無問題
   第二個問題似乎有錯誤(有TCode但在Sheet1內找不到對應的TCode)
錯誤.JPG

TOP

回復 9# Hsieh


    目前問題已解決,另外請教一個問題
   我想把0改為顯示"N/A"
    If Not C Is Nothing And TCode <> "" Then b1 = C.Offset(, 4).Value Else b1 = "N/A"
   If Not C Is Nothing And TCode <> "" Then b2 = C.Offset(, 6).Value Else b2 = "N/A"
   If Not C Is Nothing And TCode <> "" Then b3 = C.Offset(, 8).Value Else b3 = "N/A"
   If Not C Is Nothing And TCode <> "" Then b4 = C.Offset(, 10).Value Else b4 = "N/A"
   但是執行到
  Ar(i + 4) = Array(A.Offset(i, -5).Value, A.Offset(i, 0).Value, A.Offset(i, 2).Value, Cnt, TCode, b1, b1 / Cnt, b2, b2 / Cnt, b3, b3 / Cnt, b4, b4 / Cnt)
   會顯示型態不符合,是否是要另外定義參數型態

TOP

回復 11# Hsieh


    最後一個程式碼可以將0改成NA,但第2種情況無法執行(有TCode在Sheet1查無資料)
    目前將B1~B4資料改成
  If Not C Is Nothing And TCode <> "" Then b1 = C.Offset(, 4).Value
   If Not C Is Nothing And TCode <> "" Then b2 = C.Offset(, 6).Value
   If Not C Is Nothing And TCode <> "" Then b3 = C.Offset(, 8).Value
   If Not C Is Nothing And TCode <> "" Then b4 = C.Offset(, 10).Value
    則可執行第2種情形
   感謝H大耐心的指導,謝謝

TOP

        靜思自在 : 改變自己是自救,影響別人是救人。
返回列表 上一主題