I am getting an "Overflow" error on line 40 of the following script:
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "Excel|*.xls|All Files|*.*"
objDialog.FilterIndex = 1
objDialog.InitialDir = "D:\"
intResult = objDialog.ShowOpen
If intResult = 0 Then
Wscript.Quit
Else
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open(objDialog.FileName)
End If
objExcel.Visible = True
Set objWorksheet2 = objWorkbook.Worksheets("Foaie1")
objWorksheet2.Activate
objExcel.ScreenUpdating = False
objExcel.Calculation = xlCalculationManual
Set RngVal = objWorksheet2.Range("D1").CurrentRegion.Columns(4)
Set RngCrt = RngVal.Offset(0, -3)
objWorksheet2.Select
objWorksheet2.Range("A2").Select
Do Until IsEmpty(ActiveCell)
If ActiveCell.Value <> ActiveCell.Offset(-1, 0).Value Then
Criteria = ActiveCell.Offset(-1, 0).Value
ActiveCell.Offset(-1, 7).Value = objExcel.WorksheetFunction.SumIf(RngCrt, Criteria, RngVal) / objExcel.WorksheetFunction.CountIf(RngCrt, Criteria)
End If
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(-1, 7).Value = objExcel.WorksheetFunction.SumIf(RngCrt, Criteria, RngVal) / objExcel.WorksheetFunction.CountIf(RngCrt, Criteria)
objExcel.Calculation = xlCalculationAutomatic
objExcel.ScreenUpdating = True
The script calculates the average of column "D", and when the value from "A" changes, puts the result in "H".
Example:
1. "A" "D" "H"
2. 07:36:16 8.4
3. 07:36:16 3.4 5.9
4. 07:36:17 2.1