USERFORM ELABORATORE DI FUNZIONI



  • USERFORM ELABORATORE DI FUNZIONI
    di isav data: 10/07/2013 12:50:11

    Avrei bisogno di creare una interfaccia utente, come un userform, che realizzi attività matematica del seguente tipo:
    Accetti in ingresso (con due textbox) due parametri interi, ad esempio a e b

    2. Elabori a e b , determinando un terzo valore ad esempio m, con la formula: m=(b-a)/a .
    - Costruisca una tabella di N coppie di valori, con N impostato dall’utente per mezzo di una ulteriore textbox, relativa alla funzione y=m*x+b.

    3. -Costruisca il grafico (non necessariamente interno al foglio Excel) della funzione y=m*x+b

    Infine, se è possibile, memorizzi in una cella del foglio la formula y=m*x+b , in forma di oggetto del tipo equation editor di word , in modo tale che l’utente possa selezionarla e copiarla in qualsiasi documento office. E’possibile tutto questo?

    Ringrazio preventivamente tutte le buone persone che vorranno darmi una mano.



  • di totygno71 (utente non iscritto) data: 10/07/2013 13:05:02

    Ciao isav

    a occhio e croce sono tutte cose fattibili con vba, ma toglimi una curiosità...
    Tu non ci hai neanche provato a fare qualcosa?
    Se si... puoi allegare il lavoro fin ora prodotto?



  • di isav data: 10/07/2013 14:59:16

    Ebbene, rispondendo a totygno, confesso di essere ancora alle prime armi in fatto di vba: infatti, seppure io abbia già programmato in vita mia anche se molto tempo fa, sono dovuto proprio partire da zero e ho iniziato da appena 3 settiman! Mi ci dedico con passione e interesse appena ho tempo libero ma devo anche aggiungere che solo ora sto iniziando ad acquisire un minimo di competenza. Non ho però ancora quel grado di competenza necessaria a cavarmela da solo poiché non conosco ancora molte cose .
    Il vba per me ora rappresenta una concreta possibilità di risolvere alcune serie questioni legate anche alla professione. Mi è di aiuto, come autodidatta, la mia formazione universitaria di tipo scientifico che, tuttavia, non è sufficiente. Anche i libri non rappresentano una via risolutiva. Solo in internet, e qui in particolare, ho capito degli aspetti decisamente importanti e spero, pertanto, di poter presto divenire completamente autonomo. Grazie ancora a chi aiuta, anche solo parzialmente.



  • di HarryBosch data: 10/07/2013 22:05:53

    Un piccolo/grande aiuto giusto perché ci dedichi "passione e interesse", così magari, nel prossimo intervento, cominci a produrre qualcosa di tuo ^_^

    Ti allego un file; premi il pulsante e inserisci i dati. Poi vediamo dove "aggiustare il tiro"...



  • di Vecchio Frac data: 10/07/2013 22:18:15

    Bè, ma se isav ha già infarinatura di programmazione dovrebbe avere una forma mentale già adeguata a VBA, che non essendo un linguaggio moderno permette anche ai "veterani" di cavarsela :)





  • di isav data: 12/07/2013 07:12:10

    @HarryBosh: ti ringrazio moltissimo per questo tuo prezioso contributo . In effetti, non sarei stato in grado per molto tempo (forse mesi) di realizzare questo lavoro da solo poichè, come detto, non posseggo le competenze necessarie avendo iniziato da poco con livello 0.
    La difficoltà principale, per quanto mi riguarda in ordine alla progressività di apprendimento, deriva dalla difficile interpretazione di molte fonti, tra le quali anche i libri cartacei che spesso non sono del tutto chiari come esposizione e talvolta danno per scontati dei passi che il principiante non è ancora in grado di compiere autonomamente.
    Per quanto riguarda il tuo pregevolissimo lavoro, così gentilmente offerto, mi rimarrebbe un solo semplice problema : invece del grafico a barre avrei bisogno di un grafico a dispersione XY con linea continua. Come devo cambiare il gruppo di istruzioni seguente:

     
    With ActiveChart
        .ChartType = xlColumnClustered
        .SetSourceData Source:=rng.Columns(2)
        .SeriesCollection(1).XValues = rng.Columns(1).Offset(1)
    End With



  • di HarryBosch data: 12/07/2013 09:56:40

    Comunque, per iniziare con il vba, non si parte certamente con l'elaborazione dei grafici che rimane pur sempre una parte piuttosto difficoltosa o, meglio, specifica del vba per Excel.

    Se vuoi veramente apprendere il linguaggio, devi partire dalla "normale" scaletta classica: variabili, cicli, oggetti standard e via dicendo.

    Mi era dimenticato di "convertire" il grafico nel tipo a dispersione; l'istruzione che determina il tipo è:
    .ChartType = xlColumnClustered

    Ti allego una revisione dove troverai la possibilità di scegliere in partenza il tipo di grafico a dispersione, visto che sono possibili alcune varianti; di default sarà impostato il grafico a "dispersione con linee dritte", che mi sembra sia quello che ti serve.



  • di isav data: 12/07/2013 11:30:59

    @HarryBosh : Ti ringrazio per avere accolto il mio appello producendo un ulteriore ottima versione del tuo lavoro e che coglie pienamente la necessità che esponevo. Inoltre, in effetti ritengo più che ragionevole la tua osservazione didattica che raccomanda di seguire un percorso di apprendimento definito dalle tappe indicate. Ma, vorrei anche precisare, la mia necessità era anche dettata da un carattere di urgenza dovendo io risolvere una questione di carattere professionale, oltre che personale, relativamente all'elaborazione di una interfaccia utente con le caratteristiche che hai saputo interpretare con il prodotto da te allegato qui. Naturalmente, aggiungerei che mi riservo di modificare le formule dei parametri o la struttura dell'interfaccia in ragione di ulteriori eventuali necessità.
    Con ciò ritengo conclusa in modo soddisfacente questa discussione ma lascio per ora a te l'ultima parola in merito .



  • di HarryBosch data: 15/07/2013 19:55:18

    Ovviamente hai tutto il dirittodovere di modificare e adattare l'esempio proposto per i tuoi scopi; anzi, sono ancor più soddisfatto se poi gli utenti metton la loro mano e cercano di entrare nel merito della routine stessa

    Se avrai ancor bisogno di aiuto, ti aspettiamo sul Forum...



  • di isav data: 16/07/2013 10:16:29

    @ HarryBosh : Il prezioso aiuto ricevuto, contribuendo ad appassionarmi allo studio del vba, mi è di stimolo per acquisire le competenze necessarie a sviluppare in autonomia i progetti futuri. Di ciò, oltre che per l'invito ad usufruire ulteriormente del forum, ti ringrazio sentitamente e, chiudendo ora questa discussione, scrivo quindi il mio arrivederci.