Da textbox a cella

di il
9 risposte

Da textbox a cella

Ciao a tutti,
chiedo un vostro gentile aiuto riguardo il "trasporto" dei dati contenuti in una textbox ad una cella del foglio attivo in excel.
E' un problema un pò particolare quindi cercherò di spiegarmi con parole più elementari possibili.
In un foglio ho una userform, in questa userform ci sono 2 textbox e un commandbutton che trasferisce i dati sul foglio attivo.
In una textbox ho impostato la proprietà "Multiline" così quando ci scrivo dentro mi va a capo in automatico.
Sarebbe possibile, nel momento in cui clicco sul command button, il testo che è andato a capo nella textbox si inserisce nella cella sottostante alla prima frase? Vi faccio un esempio:
nella textbox scrivo: aaaaaaaaaaaaaa (va a capo)
bbbbbbbbbbbbb

clicco sul command button e: aaaaaaaaaaaaaaa (cella C1)
bbbbbbbbbbbbbbb (cella C2)
Sarebbe possibile fare ciò?
Spero di aver spiegato bene, in caso contrario sono a vostra disposizione per ogni chiarimento.
Vi ringrazio in anticipo della vostra disponibilità e buona giornata

9 Risposte

  • Re: Da textbox a cella

    Immagino che aaaa e bbbb siano separate da uno spazio, in questo caso fai uno split del contenuto della textbox e scrivi in c1 il primo valore dell'array e in c2 il secondo
  • Re: Da textbox a cella

    Ti ringrazio per aver risposto..
    fai uno split del contenuto della textbox e scrivi in c1 il primo valore dell'array e in c2 il secondo

    Ehm...gentilmente potresti farmi un esempio?
    La parte "splittare un testo" mi manca tra le cose che sto imparando su excel..
    Io opero direttamente da userform, sul foglio verranno inseriti solo i dati..
    In pratica il foglio non lo tocco proprio.. sarebbe possibile fare ciò inserendo il codice sotto il commandbutton?
    Grazie mille per la disponibilità
  • Re: Da textbox a cella

    MS : How to use the SPLIT Function (VBA) - TechOnTheNet

    https://www.techonthenet.com/excel/formulas/split.ph
  • Re: Da textbox a cella

    Buongiorno e grazie del suggerimento!
    Ho provato l'esempio del sito naturalmente modificato secondo le mie esigenze e funziona alla grande
    Solo un'ultima cosa se posso chiedere sempre: ho notato che mettendo le celle (A1, A2 ecc) per splittare il testo funziona bene ma se non dovessi denominare le celle? Nel senso che il testo spittato dovrebbe andare nella colonna C in modo che ogni volta che clicco sul command button me li aggiunge invece che sovrascrivermeli, come dovrei fare?
    Riprendo l'esempio di sopra: aaaaa.bbbbbbb >>>>>>>>>>> aaaaa (C1) bbbbbbbb (C2); mmmmmmm.sssssss >>>>>> mmmmmm(C3) ssssss (C4) ecc.
    Questo è quanto le modifiche che ho apportato al codice:
    Dim LString As String
    Dim LArray() As String
    
    LString = TextBox1.Text
    LArray = Split(LString, ".")
    With Sheet1
    Worksheets("Sheet1").Range("C1") = LArray(0)
    Worksheets("Sheet1").Range("C2") = LArray(1)
    End With
    Vi ringrazio della vostra preziosa disponibilità
  • Re: Da textbox a cella

    Devi ogni volta trovare l'ultima riga occupata della colonna C ed incrementarla di uno
    https://www.thespreadsheetguru.com/blog/2014/7/7/5-different-ways-to-find-the-last-row-or-last-column-using-vba
  • Re: Da textbox a cella

    Sventolo bandiera bianca
    Non riesco ad andare avanti..
    Dim LString As String
    Dim LArray() As String
    Dim LastRow As Long
    Dim sh As Worksheet
    Set sh = Sheet1
    LString = TextBox1.Text
    LArray = Split(LString, ".")
    LastRow = sh.Cells(sh.Rows.Count, "C").End(xlUp).Row + 1
    come faccio a dichiarare che nella colonna C deve andare il testo splittato della textbox1?
    Se avete altri suggerimenti, vi ringrazio infinitamente..
    Vi chiedo scusa per la mia poca preparazione in materia.
  • Re: Da textbox a cella

    Ti insegno un segreto: esiste il comando Strumenti -> Macro -> Registra nuova macro (in E 2003, se hai una versione più recente con quella ciofeca del rib bon... cercalo che c'è)
    Con quel comando puoi registrare quello che fai con mouse e tastiera e poi andare a rivedere.
    È uno strumento estremamente educativo.
  • Re: Da textbox a cella

    Dim LString As String
    Dim LArray() As String
    Dim LastRow As Long
    Dim sh As Worksheet
    Set sh = Sheet1
    LString = TextBox1.Text
    LArray = Split(LString, ".")
    LastRow = sh.Cells(sh.Rows.Count, "C").End(xlUp).Row + 1
    
    sh.Range("C" & LastRow) = LArray(0)
    sh.Range("C" & LastRow + 1) = LArray(1)
    
  • Re: Da textbox a cella

    Ho provato la tua soluzione e funziona alla grande!

    Grazie, grazie e ancora grazie
    Un forte abbraccio
Devi accedere o registrarti per scrivere nel forum
9 risposte