【发布时间】:2025-12-18 07:35:02
【问题描述】:
我在纳斯达克交易股票,每笔交易都有唯一的交易编号。每个唯一的交易编号都包含许多股票购买交易。
我正在尝试计算我为每个唯一交易编号购买的股票数量,并将每次股票购买交易的累积数量分配到相邻列。
例如:A 列所有交易编号按顺序列出,B 列购买的股票数量。我正在尝试确定我为每笔交易购买的累计股票数量,并将结果放在 C 列中。
| Trade Number | Number Shares Bought | Accumulated Number of Shares Bought |
|---|---|---|
| 1 | 1 | 1 |
| 1 | None | Must be blank |
| 1 | 2 | 3 |
| 2 | None | Must be blank |
| 2 | 1 | 1 |
| 2 | 3 | 4 |
| 2 | None | Must be blank |
我创建了以下代码。 IF 语句不会在 C 列下产生所需的输出。
Sub SequentialShareNumber()
' ' SequentialShareNumber Macro ' Macro allocates a sequential number to each Share bought in a Trade
'Step 1: Declare variables Dim TradeRange As Range Dim TradeCell As Range
'Step 2: Define the Target Range Set TradeRange = Range("A2:A100")
'Step 3: Start looping through the range For Each TradeCell In TradeRange
'Step 4: If TradeCell.Value > 0 Then TradeCell.Select Dim ShareCounter As Integer ShareCounter = 0
'Step 5: Check if a Share was bought for this Trade Number in Column B TradeCell.Offset(0, 1).Range("A1").Select ActiveCell.Select
If ActiveCell.Value = 1 Then
'Step 6: Allocate a sequential number to each Share bought for this Trade Number ShareCounter = ShareCounter + 1
'Step 7: Insert the sequential value in Column C ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.value = ShareCounter
End If
End If
'Step 8: Get the next cell in the range Next TradeCell
End Sub
【问题讨论】: