Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

vba word: trim non funziona ?

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

vba word: trim non funziona ?

Postdi karug64 » 29/07/16 18:35

Salve a tutti.
Dal mio foglio di lavoro word apro un foglio excel e ne leggo dei valori di alcune celle.

Codice: Seleziona tutto
If Trim(xlSheet.Cells(1, x).Value) = Trim("Cod. Unità") Then


Il problema è che nel foglio excel,

xlSheet.Cells(1, x).Value è uguale a "Cod. Unità " con uno spazio finale.


Pensavo che la trim eliminasse gli spazi, ma la if non si risolve positivamente ....

Quale è il problema ?

Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: vba word: trim non funziona ?

Postdi karug64 » 29/07/16 18:58

Aggiungo che indagando ho scoperto che l'ultimo carattere ha un codice ascii(10).
Allora la domanda diventa:

come tolgo da una stringa tutti i caratteri che non siano lettere e numeri ?

Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Re: vba word: trim non funziona ?

Postdi Anthony47 » 30/07/16 01:06

Puoi usare la funzione di Excel LIBERA, disponibile come WorksheetFunction.Clean
Dovrai pero' far riferimento all'Oggetto "Excel.Application" che immagino tu hai creato con CreateObject("Excel.Application").
Ad esempio:
-se l'oggetto creato si chiama myExc, e la stringa da pulire e' nella variabile myStr, allora potresti usare qualcosa come
Codice: Seleziona tutto
Ripulito = myExc.worksheetfunction.clean(myStr)

La variabile "Ripulito" dovrebbe contenere una versione ripulita della stringa.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: vba word: trim non funziona ?

Postdi Flash30005 » 30/07/16 04:18

Leggi quanto scritto da Anthony

penso si possa fare anche così
Codice: Seleziona tutto
If right(xlsheet.cells(1,x).value,1) = Asc(10) then
xlsheet.cells(1,x).value = left(xlsheet.cells(1,x).value, len(xlsheet.cells(1,x).value)-1)
endif
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vba word: trim non funziona ?

Postdi karug64 » 30/07/16 10:37

Ok. Grazie per le soluzioni.
Nel frattempo avevo risolto così, anche se più macchinoso ...

Codice: Seleziona tutto
test = ""
        test = Replace(xlSheet.Cells(1, x).Value, " ", "")
        test = Replace(test, Chr(10), "")
       


Alla prossima
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22


Torna a Applicazioni Office Windows


Topic correlati a "vba word: trim non funziona ?":


Chi c’è in linea

Visitano il forum: raimea e 8 ospiti