| | Post: 79 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 44 | Utente Junior | 2003 | | OFFLINE |
|
18/01/2017 21:14 | |
Buona sera a tutti nel foglio2 partendo dalla cella D3 ho delle righe; per esempio ho messo il nome di alcuni membri del Forum.Come vedete il nome è preceduto da uno spazio e successivamente ci sono da 2 parole a 3 e chiude gatto di marmo con 5 parole.Mi servirebbe una macro con pulsante chiamata cancella parole che mi copia nel foglio3 partendo sempre da D3 solo la prima parola .Grazie Buona serata a tutti. |
|
| | Post: 1.932 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Veteran | 2007 / 13 | | OFFLINE | |
|
19/01/2017 00:47 | |
ciao
nella stringa e presente il carattere 160
quindi la sub() in questione da mettere nel foglio2 e' questa
Option Explicit
Sub Estrai_nome()
Dim i As Long
Dim nome As String, Sh As String
Sh = "Foglio3"
For i = 3 To Cells(Rows.Count, "D").End(xlUp).Row
nome = Cells(i, "D").Value
Sheets(Sh).Cells(i, "D") = _
Trim(Replace(Mid(nome, 1, Application.Find(Chr(160), nome, 5)), Chr(160), ""))
Next i
End Sub
riciao
visto che non hai ancora risposto ti metto anche la formula di excel
foglio3 D3
=ANNULLA.SPAZI(SOSTITUISCI(STRINGA.ESTRAI(Foglio2!D3;1;TROVA(CODICE.CARATT(160);Foglio2!D3;5));CODICE.CARATT(160);""))
[Modificato da locatevaresino 19/01/2017 09:37] Ciao da locate
excel 2007 / 13 |
| | Post: 79 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 44 | Utente Junior | 2003 | | OFFLINE |
|
20/01/2017 18:27 | |
Ciao Locate grazie per il codice. |
| | Post: 80 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 44 | Utente Junior | 2003 | | OFFLINE |
|
20/01/2017 18:33 | |
Ciao Locate Varesino. Se nella colonna D è presente una cella Vuota il codice non funziona. Si potrebbe modificare cancellando tutte le celle vuote prima di lanciare la macro? Grazie Matteo |
| | Post: 1.934 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Veteran | 2007 / 13 | | OFFLINE | |
|
20/01/2017 19:37 | |
ciao
basta inserire un controllo di errore
in VBA
Option Explicit
Sub Estrai_nome()
Dim i As Long
Dim nome As String, Sh As String
Sh = "Foglio3"
For i = 3 To Cells(Rows.Count, "D").End(xlUp).Row
nome = Cells(i, "D").Value
If Len(nome) = 0 Or Mid(nome, 1, 1) <> Chr(160) Then ''controllo
Sheets(Sh).Cells(i, "D") = nome
Else
Sheets(Sh).Cells(i, "D") = _
Trim(Replace(Mid(nome, 1, Application.Find(Chr(160), nome, 5)), Chr(160), ""))
End If
Next i
End Sub
in formula excel
=SE.ERRORE(ANNULLA.SPAZI(SOSTITUISCI(STRINGA.ESTRAI(Foglio2!D3;1;TROVA(CODICE.CARATT(160);Foglio2!D3;5));CODICE.CARATT(160);""));Foglio2!D3)
Ciao da locate
excel 2007 / 13 |
| | Post: 81 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 44 | Utente Junior | 2003 | | OFFLINE |
|
01/03/2017 20:09 | |
Macro cancella tute le parole tranne la prima subito nel foglio1 Buona sera a tutti. Locate scusami ,ho formattato il pc e ho un combinato un guaio. Non riesco più ad eseguire la formula correttamente. Allego il file parola xls. Il
foglio 1 e vuoto a parte D1 D2 D3.Il Foglio 2
è stato completato da me in modo manuale ed è
il risultato che voglio. Ma Sarebbe possibile
eseguendo la macro avere il risultato subito qua nel foglio 1.In poche parole ho bisogno un macro che in D1 nel foglio1 ho mela.In D2
zucchero,in D3 piove.Con un pulsante.Non riesco propio.Grazie anticipatamente Matteo
|
| | Post: 82 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 44 | Utente Junior | 2003 | | OFFLINE |
|
02/03/2017 19:08 | |
La macro funziona ma non estrae solo la prima parola ma tutte Allego foto .Saluti a tutti Matteo |
| | Post: 5.082 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
02/03/2017 19:31 | |
Ciao ed un saluto a Locate, questa una macro che risolve.
Sub dividi()
Dim r, d, dd, x, sh1 As Worksheet, sh2 As Worksheet
Set sh1 = Worksheets("Foglio1")
Set sh2 = Worksheets("Foglio2")
sh2.Activate
Application.ScreenUpdating = False
r = sh2.Cells(Rows.Count, 4).End(xlUp).Row
sh2.Range(Cells(1, 4), Cells(r, 4)).ClearContents
sh1.Activate
r = sh1.Cells(Rows.Count, 4).End(xlUp).Row
For x = 1 To r
d = sh1.Cells(x, 4)
dd = Split(Trim(d))
sh2.Cells(x, 4) = dd(0)
Next x
sh2.Activate
Application.ScreenUpdating = True
sh2.Cells(1, 4).Select
End Sub
Ciao By Sal
[Modificato da by sal 02/03/2017 19:32] se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 83 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 44 | Utente Junior | 2003 | | OFFLINE |
|
02/03/2017 20:31 | |
Ciao Sal grazie per il codice.Complimenti |
|
|