Guide e Tutorials:indexed | |||||||||||||||||||||||||
Lavorare con
gli oggetti Excel (settima parte) Come già visto nelle lezioni precedenti, i requisiti fondamentali per poter interagire con gli oggetti di Excel sono due: avere installato una copia di Microsoft Excel ed aver precedentemente caricato la libreria oggetti di Excel disponibile nella finestra di dialogo Riferimenti. Per una maggiore comprensione, la finestra si apre cliccando sulla voce Progetto del menu principale e selezionando dal menu Progetto che si aprirà, la voce Riferimenti che è quella accompagnata dall'icona dei libri. Basterà poi selezionare la voce Microsoft Excel Object Library per poter utilizzare tutti gli oggetti di cui la libreria in questione si compone. Nel corso di questo articolo si analizzeranno i metodi di assegnazione delle formule alle celle o ad un Range di celle e l'utilizzo delle funzioni supportate da Excel presenti nell'oggetto WorksheetFunction. Sarà in questo modo possibile accedere attraverso un'applicazione sviluppata in Visual Basic alle funzioni di Excel di tipo matematico e trigonometrico, logico, finanziario, statistico, e così via. Lasciamo quindi per un attimo da parte il discorso di layout del foglio di lavoro e vediamo una delle più importanti proprietà supportate da Excel: la proprietà Formula. Attraverso tale proprietà s'imposta e si assegna una formula alla cella desiderata in modo da far dipendere il valore della cella (quello che poi sarà visualizzato al suo interno) dalla formula stessa. Ad esempio consideriamo tre celle. Due di queste, ossia la cella A1 e la cella A2 contengono dei valori numerici che impostiamo a priori. Consideriamo A1 con valore 10 e A2 con valore 25. Possiamo quindi assegnare il valore alla cella A3 in base ad una formula del tutto arbitraria. Facciamo un esempio pratico. Assegnamo ad A1 e A2 i rispettivi valori:
adesso assegnamo una formula alla cella A3. Possiamo ad esempio pensare di inserire la formula che esegue l'operazione di somma tra i valori delle celle A1 e A2:
Anche se non necessaria, la figura sotto mostra il risultato visualizzato: dove, selezionando la cella A3, nella casella della formula appare proprio la formula da noi inserita: Allo stesso modo possiamo generare formule utilizzando tutti gli operatori desiderati. Proviamo ora a moltiplicare le celle A1 e A2 e dividerle per la loro differenza:
il risultato sarà: Così possiamo calcolare il valore massimo tra quello contenuto nella cella A1 e quello della cella A2:
Le funzioni principali di Excel sono tutte contenute nell'oggetto WorksheetFunction. La differenza tra l'utilizzo della proprietà Formula e di WorksheetFunction sta nel fatto che mentre il primo inserisce la formula nella casella delle formule di Excel ed esegue l'operazione in modo del tutto automatico, il secondo inserisce il risultato come valore della cella. Sarebbe del tutto inutile andare ad elencare la lunga lista di funzioni supportate, quindi rimandiamo questo compito ad uno studio della Guida in linea di Microsoft Excel. Si parlava dell'oggetto WorksheetFunction: il suo utilizzo è davvero semplice, ammesso che si abbia sotto mano una tabella di tutte le funzioni o meglio, dei loro significati. Soltanto così si ottiene una corrispondenza tra una funzione dell'oggetto ed il risultato desiderato. Senza andare oltre vediamo come ottenere lo stesso risultato dell'esempio precedente utilizzando questo nuovo oggetto:
E così via per tutte le altre funzioni. E' interessante anche notare che tra le funzioni contenute in WorksheetFunction esiste la possibilità di generare numeri casuali. E questo ci renderà le cose più interessanti nella formulazione degli esercizi proposti d'ora in poi. Per generare uno o una serie di numeri casuali si utilizza la funzione RAND() di Excel:
per prendere soltanto la parte intera di tali numeri casuali:
quindi per generare un numero casuale compreso tra 0 e 100:
ed infine per generare un numero casuale compreso tra due intervalli diversi da 0, ad esempio 20 e 60: foglioExcel.Range("A3").Formula = "=RAND()*(60-20)+20 "
E' da notare che l'utilizzo di una formula non è ristretta ad una singola cella: un'intero Range può essere popolato da celle con la medesima formula. Ad esempio applichiamo la formula di somma delle celle A1 (che ha sempre il valore 10) e A2 (che ha sempre il valore 25) ad un Range di celle A3,D5
Si otterrà il seguente risultato: Allo stesso modo è possibile ad esempio popolare un Range di numeri casuali, passaggio che sarà oggetto dell'esercizio associato a questo articolo.
|