Lezione 4 ogetti-vba

3,755 views
3,985 views

Published on

Uso di funzioni avanzate di Excel con gli oggetti in Visual Basic for Application

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,755
On SlideShare
0
From Embeds
0
Number of Embeds
3,235
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lezione 4 ogetti-vba

  1. 1. LEZIONE 4 – VISUAL BASIC ED EXCEL LEZIONE 4 – VISUAL BASIC ED EXCEL Gestione complessa degli oggetti di Excel
  2. 2. ContenutiContenuti  Gerarchia degli oggetti in Excel  Gestione di fogli e cartelle di lavoro multipli  Specifiche proprietà di formato delle celle  Algoritmi con cicli iterativi
  3. 3. Gerarchia degli oggetti In Microsoft Excel e comunque nelle applicazioni di Office esiste una gerarchia che associa un ruolo specifico ad ogni oggetto che l’applicazione gestistice. Come noto l’oggetto principale delle applicazioni di Office è Application che rappresenta il programma in esecuzione sul quale si può operare.
  4. 4. Proviamo ad inserire in un modulo il codice Visual Basic Sub main() MsgBox Application.Name End Sub Il risultato che verrà fuori è: ovvero il nome del programma aperto.
  5. 5. Metodi di un oggetto e di Application  Un metodo rappresenta una modalità di utilizzo dell’oggetto;  Metodi dell’oggetto Application i principali:  ActiveWorkbook permette di accedere ai contenuti della cartella di lavoro aperta  Close chiude la cartella di lavoro  SaveAs salva con nome cartella di lavoro  Sheets fogli di lavoro nella cartella di lavoro attiva  Add aggiunge  (numero) seleziona il foglio di lavoro mediante numero  (“nome foglio”) seleziona il foglio di lavoro mediante il nome
  6. 6. Insieme di oggetti (Workbooks, Sheets)  Alcuni oggetti possono essere raggruppati in insieme quando hanno le medesime caratteristiche.  Workbooks sono l’insieme delle cartelle di lavoro in quanto posso lavorare con più cartelle di lavoro insieme. Application.Workbooks.Add aggiunge una nuova cartella di lavoro; Application.Workbooks.Open(percorso file) apre una cartella di lavoro presente all’interno del nostro computer.  Sheets rappresenta l’insieme dei fogli presenti nella cartella di lavoro.  Add aggiunge un foglio di lavoro alla cartella di lavoro.  Delete cancella un foglio di lavoro con l’istruzione Sheets(numero foglio).Delete
  7. 7. Insiemi di oggetti Cells, Charts  Cells sono l’insieme delle celle del foglio di lavoro per selezionare una cella posso usare select Sheets(1).Cells(1, 2).Select Seleziona la cella B1 del foglio numero 1 della cartella di lavoro attiva.  Range è un metodo che permette di operare su un intervallo di celle ad esempio Sheets(1).Range("a1:a10").Select seleziona le celle dalla A1 alla A10 del foglio numero 1.  Charts è l’insieme dei grafici di Excel per aggiungerne uno s usa il metodo Add così thisworkbook.chars.add
  8. 8. Riepilogo della gerarchia degli oggetti di Excel (alcuni)
  9. 9. Esercizio di esempio Si vogliono creare tanti mastri quanti sono i conti per tracciare le movimentazioni sper conto.
  10. 10. Algoritmo per la ricerca di un singolo conto 1. Cerca nella colonna A il codice conto ad esempio “KZ002” - dato di input impostato a piacere; 2. Ogni volta che trovi il codice conto trasferisci la riga corrispondente nel foglio2 - condizione se sul codice conto. 3. Ripeti passi 1,2 da riga 2 a riga 16 (ciclo for varabile k come contatore)
  11. 11. Algoritmo risolutivo
  12. 12. Codifica in Visual Basic parte 1 Option Explicit Dim k As Integer Dim cod_conto As String * 5 Sub singolo_mastro() cod_conto = "KZ002" Foglio1.Name = "conti" For k = 2 To 16 ThisWorkbook.Sheets("Foglio2").Cells(k, 3).NumberFormat = "dd/mm/yy" ThisWorkbook.Sheets("Foglio2").Cells(k, 4).NumberFormat = "dd/mm/yy" ThisWorkbook.Sheets("Foglio2").Cells(k, 6).NumberFormat = " € #,##" Continua alla prossima pagina
  13. 13. Codifica in Visual Basic parte 2 If ThisWorkbook.Sheets("conti").Cells(k, 2) = cod_conto Then ThisWorkbook.Sheets("Foglio2").Cells(k, 1) = ThisWorkbook.Sheets("conti").Cells(k, 1) ThisWorkbook.Sheets("Foglio2").Cells(k, 2) = ThisWorkbook.Sheets("conti").Cells(k, 2) ThisWorkbook.Sheets("Foglio2").Cells(k, 3) = ThisWorkbook.Sheets("conti").Cells(k, 3) ThisWorkbook.Sheets("Foglio2").Cells(k, 4) = ThisWorkbook.Sheets("conti").Cells(k, 4) ThisWorkbook.Sheets("Foglio2").Cells(k, 5) = ThisWorkbook.Sheets("conti").Cells(k, 5) ThisWorkbook.Sheets("Foglio2").Cells(k, 6) = ThisWorkbook.Sheets("conti").Cells(k, 6) End If Next k End Sub
  14. 14. Commenti alla codifica in Visual Basic cod_conto = "KZ002“ scelgo un conto, è possibile sceglierlo anche mediante una Inputbox ThisWorkbook.Sheets("Foglio2").Cells(k, 3).NumberFormat = "dd/mm/yy" ThisWorkbook.Sheets("Foglio2").Cells(k, 4).NumberFormat = "dd/mm/yy“ imposto il formato Data delle colonne del foglio di destinazione. For k = 2 To 16 … next k mi seleziona le righe dalla numero 2 alla numero 16 cod_conto = "KZ002“ scelgo un conto, è possibile sceglierlo anche mediante una Inputbox ThisWorkbook.Sheets("Foglio2").Cells(k, 3).NumberFormat = "dd/mm/yy" ThisWorkbook.Sheets("Foglio2").Cells(k, 4).NumberFormat = "dd/mm/yy“ imposto il formato Data delle colonne del foglio di destinazione. For k = 2 To 16 … next k mi seleziona le righe dalla numero 2 alla numero 16
  15. 15. FINE LEZIONE 4 – VISUAL BASIC ED EXCEL FINE LEZIONE 4 – VISUAL BASIC ED EXCEL Gestione complessa degli oggetti di Excel

×