Board logo

標題: [發問] 如何將A工作表不同欄位值,由上到下貼上B工作表同欄位呢? [打印本頁]

作者: edmondsforum    時間: 2021-8-19 17:42     標題: 如何將A工作表不同欄位值,由上到下貼上B工作表同欄位呢?

本帖最後由 edmondsforum 於 2021-8-19 17:44 編輯

各位大大你好,
小弟有一個A工作表,如下圖
[attach]33915[/attach]

假設D5為今天日: 110/8/19,今天共買賣6次股票,每次股票都有自己的張數(I7:I26),其每張依照不同序位,又有不同損益金額,
如獲利金額(Y7:Y26)、賠損金額(AG7:AG26)  
如何將上述資料,依序由上而下貼在B工作表 的 D:F欄裡 並依序貼上純文字資料
因為我每天都會有不同支數,想貪圖便利一鍵就貼上>< 然後明天110/8/20 就依序在110/8/19 自動貼上之類的。

成果如下圖
[attach]33916[/attach]

另外也希望透過VBA 將A工作表 期望值(Z2) 也能依序貼上><

如下成果圖所示
[attach]33917[/attach]

檔案如附件  
[attach]33918[/attach]

再拜託各位大大了:P
作者: samwang    時間: 2021-8-19 18:15

回復 1# edmondsforum


請問B表 的G欄位如何得知?
作者: edmondsforum    時間: 2021-8-19 18:54

回復 3# samwang

B表的G欄位除了黃色底是我手動算的
我這邊定義我七月累計損益為-11,0000+1000 = -100,000
而G4= F4+G3  = -100,000 -200 =-100,200
G5 = F5+G4 ...依此類推
作者: edmondsforum    時間: 2021-8-19 19:05

抱歉,這句話更正為
我這邊定義我七月累計損益為-101,000+1000 = -100,000
作者: samwang    時間: 2021-8-20 07:45

回復 3# edmondsforum

請測試看看,謝謝

Sub test()
Dim Arr, Brr(), xD, i&, n%
Set xD = CreateObject("Scripting.Dictionary")
With Sheets("A")
    Arr = .Range(.[ag1], .[c66635].End(3))
    ReDim Brr(1 To UBound(Arr), 1 To 3)
    For i = 7 To UBound(Arr)
        n = n + 1: Brr(n, 1) = Arr(5, 2)
        Brr(n, 2) = Arr(i, 7)
        If Arr(i, 23) <> "" Then
            Brr(n, 3) = Arr(i, 23)
        Else
            Brr(n, 3) = Arr(i, 31)
        End If
    Next
End With
With Sheets("B")
    R = .Range("r65536").End(3).Row + 1
    .Range("r" & R) = Arr(5, 2)
    .Range("s" & R) = Arr(2, 24)
    R = .Range("d65536").End(3).Row + 1
    .Range("d" & R).Resize(n, 3) = Brr
    Arr = .Range(.[g1], .[d66635].End(3))
    For i = R To UBound(Arr)
    .Cells(i, 7) = Arr(i, 3) + .Cells(i - 1, 7)
    Next
End With
End Sub




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