我被要求创建一个脚本,该脚本将在每次运行中循环浏览一年的库存数据,并返回该年内每只股票的总交易量。
我还需要显示股票代码以与总库存量保持一致。
我的结果应如下所示(注意:所有解决方案图片均针对2015年数据)。
Sub Button1_Click()
Dim i As Long, j As Long
Dim counter As Long
Dim x As Double
For i = 1 To 1000
If Cells(i, 1).Value = "A" Then
Range("I2").Value = "A"
counter = counter + Cells(i, 7).Value
Range("J2").Value = counter
ElseIf Cells(i, 1).Value = "AA" Then
Range("I3").Value = "AA"
counter = counter + Cells(i, 7).Value
Range("J3").Value = counter
End If
Next i
End Sub
我希望获得每个股票的总数量在“ x”单元格中的所有和,我完成了第一个,但是随着计数得到最后一个值,第二个得到了另一个结果
答案 0 :(得分:0)
可以用多种方法来完成,但是我只是稍微修改一下您的代码以使其正常工作。
Range("I2").Value = "A"
Range("J2").Value = Counter
等)。最后,在循环完成后将值写入所需的单元格最终代码为
Sub Button1_Click()
Dim i As Long, j As Long
Dim Counter As Long, Counter2 As Long
Dim x As Double
For i = 1 To 1000
If Cells(i, 1).Value = "A" Then
Counter = Counter + Cells(i, 7).Value
ElseIf Cells(i, 1).Value = "AA" Then
Counter2 = Counter2 + Cells(i, 7).Value
End If
Next i
Range("I2").Value = "A"
Range("J2").Value = Counter
Range("I3").Value = "AA"
Range("J3").Value = Counter2
End Sub
最简单的VBA解决方案可能是
Sub Button1_Click()
Range("I2").Value = "A"
Range("J2").Value = WorksheetFunction.SumIf(Range("A1:A1000"), "A", Range("G1:G1000"))
Range("I3").Value = "AA"
Range("J3").Value = WorksheetFunction.SumIf(Range("A1:A1000"), "AA", Range("G1:G1000"))
End Sub