Board logo

標題: 調其他工作表資料輸入 [打印本頁]

作者: coafort    時間: 2023-4-4 10:23     標題: 調其他工作表資料輸入

本帖最後由 coafort 於 2023-4-4 10:34 編輯

請問各位大大
如附件
需求:依照工作表2的商品代碼做判斷去調工作表1的配息和配股資料填入工作表2
比方
工作表2的A3資料是2603
工作表1的2603位置在第437列
工作表2的E3會調工作表1的C437自動填入70
工作表2的G3會調工作表1的E437自動填入0
需判斷的欄位為以下這些,未來還會擴充
E3~E52
G3~G52
M3~M32
O3~O32
U3~U52
W3~W52
拜託各位大大
非常感謝各位大大[attach]36081[/attach]

[attach]36082[/attach]
作者: coafort    時間: 2023-4-4 11:52

我用
=VLOOKUP(A3,'工作表1'!A2:C1332,3,TRUE)
但都出現n/A錯誤
不知道是哪裡有問題
拜託各位大大
謝謝
作者: Andy2483    時間: 2023-4-6 11:14

回復 1# coafort


    謝謝前輩發表此主題與範例
後學藉此帖練習VBA陣列語字典,學習方案如下,請前輩參考

執行前:
[attach]36084[/attach]

執行結果:
[attach]36085[/attach]


Option Explicit
Sub TEST()
Dim Brr, Crr, Y, R&, C&, i&, T$, V$, Z$, Q$
Dim xR1 As Range, xR2 As Range, Sh1 As Worksheet, Sh2 As Worksheet
Set Y = CreateObject("Scripting.Dictionary")
Set Sh1 = Sheets("工作表1"): Set Sh2 = Sheets("工作表2")
Set xR1 = Sh1.UsedRange.Offset(1, 0): Brr = xR1
Set xR2 = Sh2.UsedRange.Offset(2, 0): Crr = xR2
For i = 1 To UBound(Brr)
   If Brr(i, 1) = "" Then GoTo i01 Else T = Brr(i, 1) & "|" & Brr(i, 2)
   Y(T & "/配息") = Brr(i, 3): Y(T & "/配股") = Brr(i, 5)
   
i01:
Next
For C = 1 To UBound(Crr, 2) Step 8
   For R = 1 To UBound(Crr)
      If Crr(R, C) = "" Then GoTo i02 Else T = Crr(R, C) & "|" & Crr(R, C + 1)
      Crr(R, C + 4) = Y(T & "/配息"): Crr(R, C + 6) = Y(T & "/配股")
      V = Replace(Cells(R + 2, C + 2).Address, "$", "")
      Z = Replace(Cells(R + 2, C + 4).Address, "$", "")
      Q = Replace(Cells(R + 2, C + 6).Address, "$", "")
      Crr(R, C + 5) = "=IF(" & Z & "," & Z & "*" & V & ","""")"
      Crr(R, C + 7) = "=IF(" & Q & "," & Q & "/10*" & V & ","""")"
   Next
   
i02:
Next
xR2 = Crr
Set Y = Nothing: Set xR1 = Nothing: Set xR2 = Nothing: Erase Brr, Crr
Set Sh1 = Nothing: Set Sh2 = Nothing
End Sub

謝謝論壇,謝謝各位前輩
作者: coafort    時間: 2023-4-6 14:05

回復  coafort


    謝謝前輩發表此主題與範例
後學藉此帖練習VBA陣列語字典,學習方案如下,請前輩參考 ...
Andy2483 發表於 2023-4-6 11:14


非常感謝大大
完美解決
:)
作者: hcm19522    時間: 2023-4-6 15:07

VLOOKUP(A3&"",工作表1!A:C,3,)
作者: coafort    時間: 2023-4-6 16:27

VLOOKUP(A3&"",工作表1!A:C,3,)
hcm19522 發表於 2023-4-6 15:07


呃~大大太強了
竟然可以
真是太感謝大大:D




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)