Заранее спасибо за помощь; Я очень начинающий и ценю ваше время!
У меня есть сценарий VBA, который отлично выполняется в первой части (добавьте два столбца в каждый лист.
Однако вторая часть скрипта (суммирует итоги в новых столбцах, на каждом рабочем листе) выполняется только на первой вкладке, а не на других.
Я знаю, что это можно сделать, используя SUMIFs
вместо VBA, но сейчас я изучаю VBA и должен это использовать.
Код ниже:
Sub test()
Dim wb As Workbook: Set wb = ThisWorkbook
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets(1)
Dim ticker_name As String
Dim ticker_total As Double
Dim summary_table_Row As Double
Dim i As Double
ticker_total = 0
summary_table_Row = 2
For Each ws In wb.Worksheets
'Create columns for ticker totals
ws.Range("I1").Value = "Ticker"
ws.Range("J1").Value = "Total Stock Volume"
'Autofit to display data
' ws.Columns("A:J").AutoFit
'THE SECTION BELOW IS THE ONE THAT WILL NOT LOOP THROUGH EACH TAB.
'_________________________________________________________________
'Do While IsEmpty(ws.Cells(i + 1, 1)) = True
For i = 2 To 99999
' Check if we are still within the same credit card brand, if it is not...
If ws.Cells(i + 1, 1).Value <> ws.Cells(i, 1).Value Then
' Set the Brand name
ticker_name = ws.Cells(i, 1).Value
' Add to the Brand Total
ticker_total = ticker_total + ws.Cells(i, 7).Value
' Print the Credit Card Brand in the Summary Table
ws.Range("I" & summary_table_Row).Value = ticker_name
' Print the Brand Amount to the Summary Table
ws.Range("J" & summary_table_Row).Value = ticker_total
' Add one to the summary table row
summary_table_Row = summary_table_Row + 1
' Reset the Brand Total
ticker_total = 0
' If the cell immediately following a row is the same brand...
Else
' Add to the Brand Total
ticker_total = ticker_total + ws.Cells(i, 7).Value
End If
Next i
'Loop
Next ws
End Sub