VSFlexGrid Control > VSFlexGrid Properties, Events, and Methods > VSFlexGrid Properties > Aggregate Property |
Returns an aggregate function (sum, average, etc.) for a given range.
val# = [form!]VSFlexGrid.Aggregate(Aggregate As SubtotalSettings, Row1 As Long, Col1 As Long, Row2 As Long, Col2 As Long)
This property is used to quickly calculate totals, averages and other aggregates over a range of cells.
The parameters for the Aggregate property are described below:
Aggregate As SubtotalSettings
This parameter defines the type of aggregate function to use. Valid settings for this parameter are:
Constant |
Value |
Description |
flexSTNone |
0 |
Outline only, no aggregate values |
flexSTClear |
1 |
Clear all subtotals |
flexSTSum |
2 |
Sum |
flexSTPercent |
3 |
Percent of total sum |
flexSTCount |
4 |
Row count |
flexSTAverage |
5 |
Average |
flexSTMax |
6 |
Maximum |
flexSTMin |
7 |
Minimum |
flexSTStd |
8 |
Standard deviation |
flexSTVar |
9 |
Variance |
flexSTStdPop |
10 |
Standard Deviation Population |
flexSTVarPop |
11 |
Variance Population |
Row1 As Long, Col1 As Long, Row2 As Long, Col2 As Long
These parameters define the range over which the aggregate is to be calculated. If you set Row1 and Row2 to -1, all selected rows are used (the selection does not have to continuous).
For example,
Debug.Print fg.Aggregate(flexSTCount, fg.FixedRows, 2, fg.Rows - 1, 2)
Debug.Print fg.Aggregate(flexSTSum, fg.FixedRows, 2, fg.Rows - 1, 2)
Debug.Print fg.Aggregate(flexSTSum, -1, 2, -1, 2)
The first statement would print the number of numeric entries in column 2, and the second their sum.
The last statement would print the sum of all numeric entries in column 2 on currently selected rows. This type of calculation is especially useful when the SelectionMode property is set to flexSelectionListBox (3).
Double