Multiline



  • Multiline
    di Dodi (utente non iscritto) data: 21/12/2017 07:33:45

    Buon giorno a tutti.
    Nel file che ho inviato. La textbox1(descrizione articolo) 
    E formattato con multiline per leggere bene un articolo lungo.invece Qquando archivio sul foglio vorrei che non lo archivia con la formattazione "testo a capo"
    Ma vorrei che ritornasse tutto su una riga senza testo a capo. Ce modo? Allego il codice che uso per archiviare ed il file esempio.



  • di Dodi (utente non iscritto) data: 21/12/2017 07:37:34

    Ecco il codice di archiviazione
     
    '********************************************* 'Inserimento dati in una tabella prestabilita' '********************************************* Private Sub CommandButton1_Click() Dim RowCount As Long Dim ctl As Control Dim new_can As String 'Inserimento in tabella RowCount = Worksheets("Computo").Range("B" & Rows.Count).End(xlUp).Row With Worksheets("Computo").Range("B6") .Offset(RowCount, 7).Value = TextBox1.Value '**************************************************************** 'Codice da utilizzare se in qualce textbox ci sono valori in euro ”Formattazione” '***************************************************************** On Error Resume Next .Offset(RowCount, 8) = CDbl(Replace(TextBox4, "€ ", "")) On Error GoTo 0 End With new_can = ComboBox1.Value 'CaricaDati End Sub



  • di patel data: 21/12/2017 08:50:52

    non vedo file allegati, inoltre potresti mettere almeno il codice in multiline, così non si capisce niente





  • di Dodi (utente non iscritto) data: 21/12/2017 09:55:09

    Ciao parte grazie per la risposta ho allegato il file.



  • di Dodi (utente non iscritto) data: 21/12/2017 12:05:17

    Ecco il codice multiline

     
    Private Sub CommandButton1_Click() 
    Dim RowCount As Long 
    Dim ctl As Control 
    Dim new_can As String
     'Inserimento in tabella
    RowCount = Worksheets("Computo").Range("B" &_ Rows.Count).End(xlUp).Row
     With Worksheets("Computo").Range("B6")
    .offset(Discount,0).value=cdate(data.caption)
    .Offset(RowCount,7).Value = TextBox1.Value 
    '************************************************************** 
    'Codice da utilizzare se in qualce textbox ci sono valori in euro ”Formattazione” '************************************************************** 
    On Error Resume Next
     .Offset(RowCount, 8) = CDbl(Replace(TextBox4, "€ ", "")) 
    On Error GoTo 0 
    End With 
    new_can = ComboBox1.Value
     'CaricaDat
    i End Sub



  • di oregon (utente non iscritto) data: 21/12/2017 15:17:02

    Usa la Replace quando assegni il valore di textbox1 sostituendo ogni chr(10) con uno spazio



  • di Dodi (utente non iscritto) data: 21/12/2017 16:50:10

    Ciao Oregon
    E ben ritrovato. Sinceramente ho capito poco di quello che mi hai detto. Perché sono alle prime armi e so far pochissimo. O meglio so fare quelle 4 cose e le ripeto ogni volta che mi servono. Ma se vado al di fuori delle mie capacità sono costretto come ben vedi a chiedere aiuto sul forum. Puoi più precisamente scrivermi il codice e dirmi in che parte del mio codice lo devo inserire? Grazie per avermi risposto anche in qsta discussione.



  • di oregon (utente non iscritto) data: 21/12/2017 17:29:42

    Una cosa è non conoscere, un'altra rifiutarsi di tentare di scrivere codice che viene praticamente suggerito. Questo totale rifiuto senza neanche un tentativo non lo ammetto.

    Devi modificare la riga dive assegni la textbox1 mettendo una replace della textbox1 del carattere chr(10) con uno spazio " "

    Puoi farcela



  • di Dodi (utente non iscritto) data: 21/12/2017 18:22:19

    Ciao Oregon
    Ho provato. A scrivere un codice su tuo suggerimento ma
    mi è successo che cmq ho scoperto un'altra cosa nuova ma non è quello che volevo. Con il codice così com' è scritto sotto se clicco poi su salva mi copia gli stessi valori delle textbox per 2 volte di seguito sul foglio . Ma ci avevo già provato prima e non sono uno che si rifiuta di provare. Anche xché davvero e una materia che mi appassiona. Mi impegno ma la sera cmq arrivo sfinito e avvolte sono annebbiato. Ti chiedevo un tuo aiuto concreto.
     
    .offset(Discount,7)=chr(10) (replace(textbox1,"",""))
    



  • di Dodi (utente non iscritto) data: 21/12/2017 18:25:17

    Non e discount ma rowcount non mi son accorto che l'assistenza alla scrittura mi ha modificato il contenuto



  • di patel data: 21/12/2017 18:36:11

    Quando si allega un file di esempio deve come minimo avere la macro in discussione (quello allegato non ce l'ha) e deve essere veramente di esempio, quindi ridotto al minimo indispensabile per testare il codice





  • di oregon (utente non iscritto) data: 21/12/2017 18:36:56

    Guarda come e' scritta un'altra linea con il Replace. Il Chr(10) in questo caso deve essere il primo dei due caratteri, quello che viene sostituito e il secondo uno spazio " "

    Quando rispondo io do' sempre un aiuto concreto, quindi non continuare a chiedermi codice completo, soprattutto quando si tratta di una sola semplicissima riga che ti ho spiegato chiaramente come scrivere e che già utilizzi.

    Non e' possibile utilizzare questi strumenti e continuare a non capirne nulla. Basta aprire una guida e leggerla. Non ci sono scuse, altrimenti prendi il file e fatti fare il progetto da una persona a pagamento e poi tu lo utilizzi soltanto.




  • di Dodi (utente non iscritto) data: 21/12/2017 19:30:16

    Capisco quello che dici. Ma non ce bisogno di esser così scontrosi. Infondo ho chiesto un aiuto altrimenti se sapevo come risolverlo non scrivevo. Per un problema che non riesco a risolvere visto le mie scarse capacità di scrittura codici. Mi ritengo fin troppo volenteroso ad imparare e cercar di capire. E non a caso l'altro tuo aiuto e spiegazione L'ho risolta da solo su tue dritte, e ti ringrazio ancora. Ma in qsto caso non capisco come mai qsto tuo astio. Un codice potresti cmq darlo e non essere pretenzioso che siano tutti geni. Vi faccio i miei complimenti che avete queste capacità di scrittura codici vba. ma il forum e fatto anche per essere di aiuto a chi ne ha bisogno. Si qsto mio problema non so come risolverlo. Vuol dire che lascio stare il tutto come L'ho programmato. Infondo e un qualcosa che dovrò utilizzare io. Vuol dire che quando ho finito con gli inserimenti modifico le proprietà da Excel.



  • di patel data: 21/12/2017 21:28:09

    io vedo molta superficialità da parte tua, mi chiedono sempre un file di esempio ? levo un po' di dati, un po' di macro a caso e lo allego senza neppure controllare cosa ho tolto.
    Mi suggeriscono una modifica, non guardo la guida di replace, copio e incollo qualcosa nella riga precedente, non funziona e richiedo aiuto.





  • di oregon (utente non iscritto) data: 21/12/2017 22:22:50

    Dodi, non so quanti anni tu abbia, comunque il tuo é un atteggiamento infantile.

    Fai la vittima, affermi che nessuno ti vuole aiutare... Ma quale astio, ti ho solo detto che hai tutte le informazioni per risolvere da solo. Se ci tenti, ti dico anche dove sbagli ma tu pesti i piedi e pretendi senza riflettere un attimo.

    Sarebbe meglio tenere un comportamento diverso, nei forum e nella vita.

    I pezzi da montare sono

    Replace textbox1.text chr(10) " "

    Vedi tu se puoi studiare una pagina di una guida.




  • di Dodi (utente non iscritto) data: 21/12/2017 22:53:56

    Oregon mi spiace che hai frainteso il mio tono non era un tono di arrabbiatutlra. E tanto meno mi piace fare la vittima. Ho pieno rispetto delle persone. Credimi. Ho stima di voi che sapete trovare le soluzioni e capisco che avete studiato molto.io e da poco che mi sto approvando al vba. Ce la metto tutta. Ma non ho davvero molto tempo materiale per studiare. Faccio il direttore di cantiere grandi opere. E cerco di crearmi qualche modello in vba per alleggerirsi un Po di lavoro. Ti sono grato per la soluzione. E ti chiedo scusa se hai frainteso. Ho letto ora il tuo codice. Lo resterò domani. Ancora grazie mille.



  • di Dodi (utente non iscritto) data: 21/12/2017 23:18:25

    Rispondo a patel
    Quello che hai scritto non rispecchia me. Mai dette certe cose. Forse mi confondi con qualcun altro. Quando mi è stato chiesto di allegare un file L'ho sempre fatto. Senza polemiche. Cmq nell'occasione vi faccio gli auguri di buon Natale a tutti, sperando anche di far capire che sono una persona rispettosa del prossimo.



  • di patel data: 22/12/2017 08:53:53

    Prima cosa auguri a te, a oregon ed a tutti quelli che ci leggono.
    Però ancora non ci siamo, non hai letto attentamente né il mio post che descrive il tuo atteggiamento né quello di oregon, hai detto "Ho letto ora il tuo codice. Lo testerò domani."
    Oregon non ti ha dato codice da testare, ti ha soltando detto quali elementi devi prendere in considerazione





  • di Dodi (utente non iscritto) data: 22/12/2017 09:10:44

    Buon giorno patel il codice di oregon l"ho letto che lo devo comporre io. E per testare intendevo dire che provo domani mattina. Cmq ti ringrazio per l'appunto. Rinnovo di cuore per un buon Natale a tutti e ancora grazie per la vostra disponibilità nel suggerire e aiutare noi comuni mortali. Capisco che devo studiare. Anzi visto e considerato tra te e Oregon potete suggerirmi un libro o guisa che posso leggere l,studiare e imparare ?



  • di patel data: 22/12/2017 09:28:41

    Qui forse non mi troverò d'accordo con oregon, io non ho mai letto un libro e quindi non saprei consigliarti, ho imparato sui forum e su google, quando non conosco un comando cerco "vba nomecomando" e trovo tutto quello che serve compresi esempi pratici. Sicuramente si impara di più su un libro, ma io ho iniziato in tarda età ed ho studiato abbastanza in gioventù per avere voglia di farlo adesso.





  • di Dodi (utente non iscritto) data: 22/12/2017 10:09:46

    In effetti immagino che hai studiato tanto. Anche io cercavo sui fori. E su Google. Pensavo che cmq nelle vostre conoscenze avevate da consigliarmi qualche guida o libro. Ecco tutto qui. Io purtroppo ho studiato da geometra dopo duri sacrifici mi ero iscritto ad architettura ma per motivi di famiglia ho dovuto smettere e iniziare a fare la gavetta sui cantieri. Ora sono direttore di cantiere grandi opere. Tra cui autostrada ferrovie e non solo



  • di alfrimpa data: 22/12/2017 11:02:41

    Dodi se ti fai un giro su Amazon con Excel VBA trovi diverse cose se poi mastichi un po' di inglese la scelta si amplia notevolmente.

    Quelli in italiano non sono particolarmente completi ma per iniziare possono andare bene

    Alfredo





  • di Dodi (utente non iscritto) data: 22/12/2017 12:31:28

    Grazie Alfredo x il co soglio ma ho acquistato alcuni manuali. Pensavo che potevate indirizzarsi voi con qualche libro a doc. Nell'occasione faccio gli auguri anche a te



  • di alfrimpa data: 22/12/2017 16:43:16

    Dai uno sguardo qui

    h t t p://forum.wintricks.it/showthread.php?t=155252

    Alfredo





  • di Dodi (utente non iscritto) data: 22/12/2017 23:05:20

    Buona sera e scusate l'ora
    Ho provato solo ora a comporre il codice perché oggi non ho avuto tempo, penso di esser riuscito a comporlo coŕettamente. Ma succede che nel foglio non mi scrive la descrizione dell'articolo ma mi lascia la cella vuota. O sbaglio ancora qualcosa? In effetti quello che mi serviva era avere la descrizione dell'articolo da multiline da userform a riga singola sul foglio Excel. Con tutta la descrizione dell'articolo. Dove sbaglio Ancora?
     
    .Offset(RowsCount,8)=Replace(Chr(10),"textbox1.text ," ")
    



  • di oregon (utente non iscritto) data: 23/12/2017 00:47:48

    Prendi un altro replace già esistente e confrontalo con quello che hai appena mostrato. Quali differenze noti?



  • di patel data: 23/12/2017 08:30:07

    The syntax for the REPLACE function in Microsoft Excel is:

    Replace ( string1, find, replacement )

    ti sembra di averlo fatto correttamente ?
    inoltre nella tua riga ci sono 3 virgolette, di solito vengono usate a coppie
    textbox1.text è già una stringa, non ha bisogno di "

    comunque io mi arrendo
     
    .Offset(RowsCount,8)=Replace(textbox1.text,Chr(10)," ")






  • di Dodi (utente non iscritto) data: 23/12/2017 13:59:18

    Buon giorno Patel
    Grazie per la risposta ma
    Il codice che mi hai dato l'avevo creato anche io ma non ottengo il risultato voluto.
    Mi spiego meglio. Nella textbox1 io ho già il testo in multiline.
    E quello che mi serve e Invece che quando clicco sul tasto archivia, nel figlio Excel tutto quello che c'è scritto nella textbox1 "multiline " lo voglio su una linea sola, e cioè senza testo a capo. E l'unica soluzione che mi dava quel risultato era il codice così come l'avevo scritto io. Ma nella cella del foglio Excel non mi faceva vedere la descrizione dell'articolo.



  • di oregon (utente non iscritto) data: 23/12/2017 15:10:01

    Quella linea è quella corretta e tu non l'hai mai usata dodi.
    Prima l'avevi usata per la colonna 7 poi per la 8 ma fa quello che avevi chiesto e non c'è molto altro da dire.




  • di Dodi (utente non iscritto) data: 23/12/2017 16:40:38

    Ciao Oregon
    Devo dire che vi ho fato ammmattire e ho rotto le scatole e, ammattendo anche io.
    Ma come sempre mi perdo in un bicchier d'acqua.
    Il vostro codice era corretto e fa quello che volevo.
    Ma ero io che non cancellando la stringa di codice :
    .offset(RowsCount,8).value=textbox1.valute
    Mi dava sempre il formato multiline. Accidenti a me pensavo che il vostro codice era un codice di formattazione. E che la stringa di codice sopra citata doveva cmq coesistere.
    Ancora grazie mille e per la pazienza che vi ho fatto arrivare al limite.



  • di Dodi (utente non iscritto) data: 23/12/2017 16:41:51

    Auguriiiii a tuttiiiii



  • di oregon (utente non iscritto) data: 23/12/2017 17:34:03

    Auguri anche a te e non ti preoccupare per il limite, non avrai modo di farcelo superare con altre domande ...