Excel - Strumenti di sviluppo


Uno strumento semplice e per chiunque
VBA in Excel offre anche delle possibilità grafiche e di sviluppo con le quali si possono creare dei programmi interessanti.
In particolare con alcuni strumenti di sviluppo si possono creare dei pulsanti, delle combobox e altre tecnologie che possono aiutare l'automatizzazione di alcuni processi.

Per trovare tutti gli strumenti che si possono utilizzare andiamo su Sviluppo > Inserisci:


All'interno di questa finestra troviamo una serie di oggetti che si possono utilizzare per aumentare le funzionalità di excel chiamati controlli. In Excel sono disponibili due tipi di controlli: i controlli modulo e controlli ActiveX.

In questo contesto non andremo ad affrontare la tematica dei controlli modulo in quanto la logica di base è quella gia spiegata delle macro (MACRO ; link interessante) ci soffermeremo su quelli ActiveX.
I principali strumenti sono:

Ci sono molti altri ActiveX Controls a cui si può accedere come mostrato nell'immagine sottostante.




Vediamo una piccola implementazioni di alcuni di questi strumenti per poi guardarli accuratamente nell'articolo successivo con un esempio più complesso.

In questa prima parte vogliamo creare creare il grafico di una retta del tipo y = m x + c inserendo come valori m e c.



Per scaricare il file con già l'esempio fatto cliccare qua, è consigliabile però farlo in autonomia così da riuscire a capire fino in fondo come sviluppare. Di seguito viene mostrato passo passo come è stato implementato.


Il codice che ho implementato in questa parte è il seguente:


Private Sub Calcola_Click()
If Not IsNumeric(c_input.Value) Or Not IsNumeric(m_input.Value) Then
    MsgBox "Inserisci i valori prima"
Else


    Dim m As Integer
    Dim c As Integer
    m = m_input.Value
    c = c_input.Value
    
    Dim X
    X = Array(-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
    Dim Y(21)
    For i = 0 To UBound(X)
          Y(i) = m * X(i) + c
    Next i
    
    
    Range("A15") = "X"
    Range("B15") = "Y"
    Range("A16:A36") = Application.Transpose(X)
    Range("B16:B36") = Application.Transpose(Y)
    
    ActiveSheet.Shapes.AddChart2(240, xlXYScatterLines).Select
    ActiveChart.SetSourceData Source:=Range("A15:B36")

End If
End Sub

        

In questa semplce funzione per prima cose si controlla che i valori siano inseriti all'interno delle textbox e che questi siano dei numeri. Successivamente si va a prendere quei valori per costruire il grafico.



Scaricare esempio