associare text box alle celle



  • associare text box alle celle
    di Julio#47 (utente non iscritto) data: 13/08/2012 14:36:32

    Salve, sto cercando di sfruttare VBA per rendere fruibili dei fogli di lavoro sviluppati da me; al momento in cui creavo tali fogli di calcolo non immaginavo che potessero essere utilizzati da altri, quindi dell'interfaccia non me ne sono mai preoccupato in quanto sapevo quali erano le celle da compilare e invece quali erano le celle da cercare per conoscere il risultato. Ora pero' mi piacerebbe migliorare l'interfaccia software con l'utente tipo e quindi volevo capiere se e come sia possibile far introdurre dall'utente dei dati attraverso un form,io pensavo a dei text box, tali dati dovrebbero scrivere il valore all'interno di determinate celle (presenti nel foglio di cui sopra) e di risposta l'utente dovrebbe leggere all'interno di un box i risultati che sono letti in una determinata cella sempre dallo stesso foglio; magari dal form l'utente potrebbe fare delle scelte condei menu' a tendina ma il concetto non dovrebbe cambiare, cio' che scrivo o scelgo dal form deve essere scritto in determinate celle del foglio di lavoro (questi sarebbero gli imput) e cio' che il foglio di lavoro calcola dovrebbe essere visualizzato sul form (output). Vi ringrazio in anticipo per le eventuali risposte che vorrete darmi; come avrete capito non sono un programmatore ma excel mi piace e mi interesserebbe migliorare "sconfinando" su VBA. Grazie



  • di HarryBosch data: 13/08/2012 15:48:47

    Ciao Julio#47
    provo un attimo a riassumer:
    il foglio dove devono essere inseriti i dati è utilizzato da diversi utenti. Per cui ti devi assicurare che essi scrivano in caselle determinate e non vadano a cancellare dati precedenti o formule che invece servono per il calcolo.
    Intanto è bene sapere quale versione Excel utilizzi...
    Hai pensato di usare le protezioni interne del foglio? quelle che si trovano sotto la scheda "Revisione"? Sai come agiscono sul foglio?
    Eventualmente conosci qualcosa di vba o parti da zero?

    L'idea del form per l'inserimento dei dati aggiunge sicuramente un qualcosa di professionale (e personale) al foglio stesso. Facci sapere...

    Ciao, Vanni



  • di Julio47 (utente non iscritto) data: 14/08/2012 09:29:11

    Ciao Harry, ogni utente ha il suo foglio/programma, quindi il foglio non e' condiviso da piu' utenti; non ho inserito protezioni (al piu' non rendero' visibili i fogli ma su questo ci vorrei pensare). Fai conto che ogni utente potrebbe trovarsi in diverse zone d'Italia. Nel 2001 avevo fatto un piccolo corso di Visual Basic e come esame all'universita' ho dovuto imparare il Fortran 77, ho letto ultimamente un po' di manuali tascabili, questo per dirti che non mi sento completamente a zero, ma se fossi un serbatoio di benzina mi sentirei in riserva vorrei poter introdurre i dati e leggere i risultati dal form; immagino di dover dichiarare delle variabilii.
    Ti ringrazio per avermi risposto.
    Ciao



  • di HarryBosch data: 14/08/2012 10:37:56

    Ciao Julio#47
    beh, direi che è buona norma dichiarare sempre le variabili, più che altro per migliorarne l'efficienza e la memoria utilizzata (altrimenti vengono tutte impostate su Object, con inutile spreco di memoria).

    Ok, ogni utente avrà il suo programmino che ovviamente dovrà essere uguale..
    Per quanto riguarda le protezioni, non intendevo solo nascondere alcuni fogli, ma anche il fatto di consentire all'utente di scrivere solo in determinate celle (bloccando tutte le altre, compresa la selezione delle stesse).

    Allora qualcosa di vba è nascosta in qualche cassettino della memoria.. perfetto, altrimenti credo sarebbe stato meglio partire da qualche infarinatura generale. Prima di proporre qualcosa ci serve però la base di partenza dove lavora il vba: ovvero, il foglio di calcolo!
    Innanzitutto, prima di creare il form ci serve sapere quali dati inserire e dove inserirli sul foglio. Quindi, se ti va, potresti allegare il foglio evidenziando i dati necessari o comunque un fax-simile, in modo da cominciare con le prime righe di codice..

    Ciao Vanni



  • di Vecchio Frac data: 14/08/2012 10:52:21

    Vanni:
    "Intanto è bene sapere quale versione Excel utilizzi... "
    Informazione necessaria, perfettamente d'accordo :)

    "Hai pensato di usare le protezioni interne del foglio? quelle che si trovano sotto la scheda "Revisione"? Sai come agiscono sul foglio? "
    Per versioni di Excel <= 2003 la protezione è sotto Strumenti -> Protezione -> Proteggi foglio... / Proteggi Cartella di lavoro...

    "altrimenti vengono tutte impostate su Object"
    ...su Variant :)

    Julio47:
    "ogni utente ha il suo foglio/programma, quindi il foglio non e' condiviso da piu' utenti; non ho inserito protezioni"
    E se cambia l'interfaccia? o la definizione dei campi? devi ridistribuire ad ogni utente il modello nuovo oppure inviare le istruzioni di aggiornamento; tieni separati interfaccia e dati: in Excel la strada migliore (nb: io userei Access ) è quella di Vanni, uno userform che fa da motore per recuperare i dati. Tieni conto che la struttura dei fogli non dovrà mai cambiare da un utente all'altro e quindi la protezione della struttura (chiamalo scheletro, schema, modello, come vuoi) è fondamentale

    "Nel 2001 avevo fatto un piccolo corso di Visual Basic"
    VBA è un fratello minore di VB ma i concetti imparati sono mutuabili

    "vorrei poter introdurre i dati e leggere i risultati dal form"
    dall'editor di codice crea un userform e comincia a posizionare i controlli, doppio clic su essi per inserire il codice di evento


    E quoto infine di nuovo Vanni:
    "Quindi, se ti va, potresti allegare il foglio"
    con solo dati di esempio, sarà più facile aiutarti a impostare il modello.






  • di Julio#47 (utente non iscritto) data: 14/08/2012 14:11:54

    Grazie Vanni, appena saro' connesso con il mio laptop ti alleghero' il file in excell, la versione e' 2007; te lo alleghero' sicuramente.

    Ti ringrazio molto della tua disponibilita' a rispondermi, se un giorno avrai bisogno di consulenza nel settore impianti saro' lieto di aiutarti.
    A presto.
    Enrico



  • di Julio#47 (utente non iscritto) data: 14/08/2012 14:17:58

    Grazie per le informazioni Vecchio Frac, le sommero' con quelle di Vanni.

    Grazie molte
    Ciao


  • foglio tipo
    di Julio#47 (utente non iscritto) data: 17/08/2012 13:59:30

    Ciao Harry, ma come faccio ad allegarti il foglio?
    Ti ringrazio.
    Julio



  • di Vecchio Frac data: 17/08/2012 14:14:12

    Devi comprimerlo (in formato ZIP o RAR) e poi utilizzare il pulsantone "Allega un file" che trovi in alto a destra su questa pagina.





  • di Julio#47 data: 18/08/2012 14:10:22

    Grazie Vecchio Frac, ho inserito il foglio tipo.

    Buona giornata



  • di patel (utente non iscritto) data: 18/08/2012 15:56:55

    non mi sembra che tu abbia allegato il file



  • di Vecchio Frac data: 18/08/2012 21:30:28

    Patel, nemmeno io riuscivo a vedere l'allegato, nè con login nè senza, ho chiuso e riaperto il forum, ho rifatto il login, e il file allegato è magicamente comparso :)
    Lo segnalerò al nostor patron, Mauro.
    Comunque Julio, l'ho scaricato e appena posso ci darò un'occhiata.





  • di HarryBosch data: 18/08/2012 22:20:56

    ciao Ragazzi
    per vedere il file allegato ho dovuto loggarmi...
    anch'io gli darò un'occhiata a breve..



  • di Mauro data: 19/08/2012 16:50:57

    Buongiorno a tutti! C'era un errore di programmazione. Ora dovrebbe essere risolto. Vi chiedo gentilmente di segnalare qualsiasi malfunzionamento o abuso. Grazie



  • di Vecchio Frac data: 19/08/2012 19:58:03

    Grazie Mauro, sempre presente :)

    Per Julio47 due osservazioni al volo, una da programmatore e una da utente:
    1) Raccogli tutte le funzoni o sub prodotte dal registratore di macro in un unico modulo; la manutenzione sarà più semplice e invece di saltare da un modulo all'altro avrai tutte le tue funzioni raggruppate in un posto solo. Considera che la scorciatoia da tastiera non ti servirà, perchè programmerai tu l'interfaccia che guiderà l'utnte alla realizzazione del foglio.

    2) Non creare giganteschi fogli di interfaccia utente con oltre trecento righe, l'utente si disorienta se deve navigare per carcare lo spazio dove inserire il dato. Meglio non oltrepassare la schermata e se i dati sono tanti è melgio creare più fogli che si richiamano a vicenda. Se realizzerai l'interfaccia utente con userform, il tuo compito sarà agevolato.