Inserimento Userform



  • Inserimento Userform
    di Calos (utente non iscritto) data: 03/11/2016 22:25:19

    Salve a tutti.
    Vorrei creare un userform in quanto da un foglio voglio trascrivere dei dati in un altro foglio. Esempio: Sono nel Foglio1 e vorrei inserire dei dati, attraverso la userform, nel foglio2. Potreste darmi una mano? Spero di essere stato chiaro...



  • di alfrimpa data: 03/11/2016 23:43:44

    Ciao Calos

    Creare una userform non è una cosa difficile anzi lo si fa in pochi minuti.

    Ma una volta costruita è come avere una scatola vuota "inutile".

    Oltre alla userform occorre essere capaci di scrivere il codice VBA necessario al suo funzionamento quanto meno quello da associare ad un pulsante di comando per trasferire i dati dalla maschera al foglio2.

    Va da sè che per far questo un minimo di conoscenza del Visual Basic for Application la devi avere.

    Tu che conoscenze hai in materia?
    Sai impostare le proprietà dei controlli da posizionare sulla userform?
    Hai mai scritto una macro?
    Conosci l'editor di Visual Basic?

    Insomma hai mai provato a creare una userform da solo?

    Prova a fare qualcosa sulla base delle tue esigenze e poi allega il tuo progetto spiegando quello che sei riuscito a fare e dove ti sei bloccato.

    Capisci che se io (o qualcun altro) ti facessimo il lavoro non impareresti nulla e ti troveresti in difficoltà per eventuali future esigenze.

    Dai provaci e vediamo.

    Alfredo





  • di Delas data: 04/11/2016 09:32:23

    Ciao Calos,
    come dice Alfrimpa creare una userform non è difficile.
    Da utente iscritto da poco ti posso dire che è necessario sicuramente fare un analisi dettagliata delle tue esigenze in quanto chi può aiutarti, purtroppo, non ha in mente quello che vuoi realizzare.
    Butta giù un piccolo progetto e poi allegalo alla discussione, così sarà più semplice aiutarti.

    Michele



  • di Calos (utente non iscritto) data: 04/11/2016 15:06:22

    Salve a tutti e grazie per aver risposto.
    Vi ho allegato un piccolo file con spiegazione! Fatemi sapere


    "Ciao Calos

    Creare una userform non è una cosa difficile anzi lo si fa in pochi minuti.

    Ma una volta costruita è come avere una scatola vuota "inutile".

    Oltre alla userform occorre essere capaci di scrivere il codice VBA necessario al suo funzionamento quanto meno quello da associare ad un pulsante di comando per trasferire i dati dalla maschera al foglio2.

    Va da sè che per far questo un minimo di conoscenza del Visual Basic for Application la devi avere.

    Tu che conoscenze hai in materia?
    Sai impostare le proprietà dei controlli da posizionare sulla userform?
    Hai mai scritto una macro?
    Conosci l'editor di Visual Basic?

    Insomma hai mai provato a creare una userform da solo?

    Prova a fare qualcosa sulla base delle tue esigenze e poi allega il tuo progetto spiegando quello che sei riuscito a fare e dove ti sei bloccato.

    Capisci che se io (o qualcun altro) ti facessimo il lavoro non impareresti nulla e ti troveresti in difficoltà per eventuali future esigenze.

    Dai provaci e vediamo.

    Alfredo"
    Salve Alfredo, in merito alle tue domande rispondo subito. Non sono molto capace a creare le macro perchè non uso spesso Excel. Quando non sono in grado di fare qualcosa cerco qualche macro già fatta su internet e apprendo da lì. Sono cose minime che riesco a fare! Se gentilmente mi facessi vedere come fare, ti sarei molto grato! Grazie in anticipo



  • di alfrimpa data: 04/11/2016 15:46:23

    Ciao Calos

    Premetto che la mia non è affatto cattiva volontà o mal predisposizione nei tuoi confronti ma mi sembra che tu abbia le idee piuttosto confuse.

    Questa frase "Ogni volta che scrivo in uno di questi foglio vorrei, tramite un userform, copiare i dati del foglio corrente nel foglio "Argomenti"." non ha molto senso. Tu sai cosa è e come funziona una userform?

    A cosa ti servono i fogli delle singole giornate se vuoi alimentare con una userform il foglio argomenti?

    E poi la userform sarebbe una copia pedissequa dei fogli; quale sarebbe il suo valore aggiunto?

    Se tu, come dici, hai scarse conoscenze di VBA come potresti trovarti a gestire un file nel quale non sai metter le mani alla prima difficoltà o mal funzionamento?

    Ti avevo chiesto di provare tu a costruire una userform; perché non l'hai fatto?

    A me sembra che tu voglia guidare una Ferrari con un mese di patente

    Quello che posso consigliarti è quello di munirti di un buon manuale di Excel e soprattutto di VBA in modo da apprendere concetti basilari per potersi muovere in questo mondo.

    Alfredo

    P.S. Sui forum non si richiedono "lavori" completi ma si cercano soluzioni a problemi circoscritti.





  • di Calos (utente non iscritto) data: 04/11/2016 16:24:37

    Ciao alfrimpa,
    mi scuso per intanto di aver chiesto se qualcuno poteva spigarmi un po' come fare. Avevo costruito la macro, solo che non appena eseguivo il tutto, si copiava nulla nel foglio! Se cerco di spiegarti un po' meglio, cosa foglio fare, potresti darmi qualche consiglio su come sviluppare la mia idea? Ti allego pure il codice VBA che avevo scritto...
     
    Private Sub TRASCRIVI1()
    Worksheets("Argomenti").Range("A8") = TextBox.TextBox1
    Worksheets("Argomenti").Range("B8") = TextBox.TextBox2
    Worksheets("Argomenti").Range("B8") = TextBox.TextBox3
    End Sub



  • di alfrimpa data: 04/11/2016 16:38:03

    Ciao Calos

    Non preoccuparti non devi scusarti di nulla

    Il problema è che per spiegarti si dovrebbero scrivere tante di quelle cose che si dovrebbe fare un "romanzo".

    Tanto per cominciare il codice che hai scritto è completamente sbagliato.

    Innanzi tutto come vuoi che sia eseguito (qualora fosse corretto)?

    Poi hai scritto due volte la cella B8

    È errato scrivere TextBox.TextBox1 ma si deve sempre indicare la "paternità" del controllo e quindi scrivere

    Userform1.TextBox1.Value oppure

    Me.TextBox1.Value

    Come vedi non si tratta di cosa banalissima se non si hanno conoscenze di VBA.

    Spiegare qui tutto è impossibile.

    Alfredo





  • di patel data: 04/11/2016 16:42:17

    una ricerca con google
    www.google.it/search?q=vba+creARE+USERFORM&ie=utf-8&oe=utf-8&client=firefox-b&gfe_rd=cr&ei=EawcWLW3KojA8gefpbLIBQ





  • di alfrimpa data: 04/11/2016 17:05:10

    Si certo Andrea ma se poi non si è capaci di scrivere codice VBA per gestire la userform non si va da nessuna parte.





  • di Calos (utente non iscritto) data: 04/11/2016 17:20:25

    Sostanzialmente io vorrei una specie di resoconto, ovvero, al posto di andare a cercare tra i vari fogli un specifico dato, copiando il tutto in unico foglio, mi è più facile cercarlo...



  • di patel data: 04/11/2016 19:30:31

    Alfredo, lo so bene, ma se uno vuole imparare può incominciare dal costruire la userform, intanto capisce di cosa si tratta, poi piano piano passiamo al codice di almeno una textbox





  • di alfrimpa data: 04/11/2016 20:10:07

    Ma io non credo che in questo caso ci sia bisogno di una userform ma solo di qualche procedura evento (Change).

    Alfredo





  • di Calos (utente non iscritto) data: 04/11/2016 23:42:02

    "Ma io non credo che in questo caso ci sia bisogno di una userform ma solo di qualche procedura evento (Change).

    Alfredo"

    Tipo?



  • di alfrimpa data: 05/11/2016 08:56:29

    Ciao Calos

    Sono fuori per il weekend e ti rispondo lunedì

    Alfredo





  • di Calos (utente non iscritto) data: 05/11/2016 15:52:18

    Ciao Alfrimpa
    Va benissimo. Grazie anticipatamente. Buon weekend!
    Calogero



  • di patel data: 05/11/2016 16:29:01

    io non ho capito, tu hai parlato di userform sin dall'inizio e nell'oggetto, ti serve per forza una userform o ti interessa soltanto risolvere il tuo problema in qualsiasi modo ?





  • di alfrimpa data: 06/11/2016 17:39:57

    Ciao Calos

    Ti ho allegato un file (Calos.xlsm) dove ho inserito una userform e le macro che vedi sotto.

    Quando apri il file premi CTRL+m e ti apparirà una userform

    Nella combobox puoi scegliere il giorno; nella prima textbox l'ora e nella seconda l'rgomento.

    Quando clicchi su "Inserisci dati" questi verranno trasferiti sia sul foglio di pertinenza che su foglio Argomenti.

    Ho volutamente lasciata "scarna" la userform per dare modo a te di completarla come credi.

    Come vedi il codice ti risulterà di difficile comprensione se non conosci un po' di VBA.

    Prova e fai sapere.

    Alfredo
     
    Private Sub CommandButton1_Click()
    Dim urfoglio As Long
    Dim urargomenti As Long
    urfoglio = Worksheets(Me.ComboBox1.Value).Cells(Rows.Count, "B").End(xlUp).Row
    urargomenti = Worksheets("Argomenti").Cells(Rows.Count, "A").End(xlUp).Row
    Worksheets(Me.ComboBox1.Value).Cells(urfoglio + 1, 2).Value = Me.TextBox2.Value
    Worksheets(Me.ComboBox1.Value).Cells(urfoglio + 1, 4).Value = Me.TextBox1.Value
    Worksheets("Argomenti").Cells(urargomenti + 1, 1).Value = Me.ComboBox1.Value
    Worksheets("Argomenti").Cells(urargomenti + 1, 2).Value = Me.TextBox2.Value
    Worksheets("Argomenti").Cells(urargomenti + 1, 3).Value = Me.TextBox1.Value
    End Sub
    
    Private Sub UserForm_Initialize()
    Dim i As Integer
    For i = 1 To Sheets.Count
        If Sheets(i).Name <> "Argomenti" Then
            Me.ComboBox1.AddItem Sheets(i).Name
        End If
    Next i
    End Sub
    






  • di Calos (utente non iscritto) data: 09/11/2016 13:15:52

    Salve a tutti.
    In questi giorni, attraverso un manuale VBA, sono riuscito a fare quel che volevo!
    Alfrimpa ho appena visto il tuo file ed è fatto bene. Grazie al tuo file migliorerò il mio!
    Pertanto ringrazio tutti coloro che hanno risposto e in particola modo te Alfrimpa!