Posts Tagged ‘Excel’

Subtotali su Excel tramite VB .NET

Ciao a tutti,

è tipico scrivere dei fogli di Excel come report per dei programmi (specialmente qui in IFOA).

Oggi mi sono imbattuto nel dover scrivere un report che utilizzasse la funzione Subtotale di Excel.

Allora cosa si fa? Si va su Excel, si registra la macro, si esegue un Subtotal, si interrompe la registrazione e poi si usa il codice prodotto da VBA.

Il codice VBA in questione è il seguente:

Selection.Subtotal GroupBy:=LaColonnaSuCuiVoleteRaggruppare, Function:=xlCount, _
TotalList:=Array(NumeroColonne), Replace:=True, PageBreaks:=False, SummaryBelowData:=True

Problema però! Dopo aver ovviamente messo a posto tutti riferimenti, rimaneva il problema dell’array. Che ci metti in quell’array?

La soluzione molto semplice è questa:

Non ce l’hai? Infatti! Perchè non ti serve!!! Il codice VB .NET funzionante è questo:

Excel.Selection.Subtotal(GroupBy:=LaColonnaSuCuiVoleteRaggruppare, _ 
Function:=XlConsolidationFunction.xlCount, TotalList:=Type.Missing, Replace:=True, _
PageBreaks:=False, SummaryBelowData:=True)

Un bellissimo Type.Missing risolve tutti i problemi!

Questo codice è stato testato con l’assembly di interoperabilità con Office versione 11 (Excel 2003)

Ciao!!!