| | Post: 9 | Registrato il: 29/06/2008
| Città: ACQUAFONDATA | Età: 44 | Utente Junior | excel 2007 | | OFFLINE | |
|
22/02/2017 14:08 | |
ciao,
chiedo vostro aiuto per fare la seguente cosa:
ho una stringa tipo questa ( tutta su una cella )
28.01.17 F 09:52 00900971 036946 COLLEFERRO GASOLIO 1 55,52 1,549 86,00 1,11 84,89 69,58 22,00 15,31
avrei bisogno di estrarre solo gli importi, ovvero in questo caso 55,52 - 1,549 - 86,00 - 1,11 - 84,89 - 69,58 - 22,00 - 15, 31 e di metterli ognuno in una cella ( orizzontalmente )
mi potete aiutare ?
la lunghezza e i campi all'interno della cella possono variare.
grazieeeeeeeeeeeeeeeeeee |
|
| | Post: 9 | Registrato il: 29/06/2008
| Città: ACQUAFONDATA | Età: 44 | Utente Junior | excel 2007 | | OFFLINE | |
|
22/02/2017 14:11 | |
ho omesso un particolare .... ovvero che su uno sheet ho tante righe da cui estrarre i valori numeri .... quindi in corrispondenza di ogni riga riempire tante colonne quanti siano gli importi ( ovvero quelli in cui compare la virgola)
gz |
| | Post: 2.793 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
22/02/2017 14:16 | |
Ciao Paola
Allega un file di esempio in cui mostri le varie casistiche con cui possono presentarsi i record.
Uno solo è troppo poco.
Alfredo |
| | Post: 334 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | ONLINE |
|
22/02/2017 14:18 | |
Ciao Stellablu
forse sarebbe il caso di allegare un tuo file (senza dati sensibili) su cui poter lavorare.
Penso a STRINGA.ESTRAI con le formule oppure a SPLIT con VBA.
Ciao,
Mario
PS - ciao Alfredo, mentre scrivo tu ti inserisci [Modificato da Marius44 22/02/2017 14:19] |
| | Post: 2.794 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
22/02/2017 14:24 | |
Marius44, 22/02/2017 14.18:
PS - ciao Alfredo, mentre scrivo tu ti inserisci
E ma io sono più giovane
Io avevo pensato anche al Testo in colonne successivamente a SRINGA.ESTRAI
Il problema è vedere i dati per calibrare correttamente STRINGA.ESTRAI
Alfredo |
| | Post: 10 | Registrato il: 29/06/2008
| Città: ACQUAFONDATA | Età: 44 | Utente Junior | excel 2007 | | OFFLINE | |
|
22/02/2017 14:29 | |
grazie
allego file ...
praticamente i valori da estrarre sono solo quelli con la "virgola" ... e li dovrebbe mettere dalla colonna in B in poi ..... ogni importo in una cella |
| | Post: 2.795 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
22/02/2017 14:37 | |
Purtroppo la cosa è più complicata del previsto.
Occorrerebbe individuare un criterio univoco (che al momento non vedo) per differenziare gli importi da suddividere in colonne da tutto il resto.
Poi vedo anche che in alcuni record, nella parte dove ci dovrebbero essere solo importi, compare la parola "SELF"; come va considerata?
Alfredo |
| | Post: 11 | Registrato il: 29/06/2008
| Città: ACQUAFONDATA | Età: 44 | Utente Junior | excel 2007 | | OFFLINE | |
|
22/02/2017 14:39 | |
quella andrebbe eliminate ... SELF non mi interessa ... solo mettere in colonna i valori con virgola ..
" solo" ... ahhhaaaahhhhh
penso sia molto complicato ... |
| | Post: 2.797 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
22/02/2017 15:49 | |
Ciao paola
Prova a vedere il file allegato.
Sul Foglio11 ci sono i dati suddivisi; dimmi se in base a quelli presenti su Sheet1 la suddivisione è corretta.
Alfredo |
| | Post: 335 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | ONLINE |
|
22/02/2017 16:09 | |
Salve a tutti
Oltre all'ottimo lavoro di alfrimpa (complimenti Alfredo) prova ad usare questa macro
Sub Importi()
Dim ur As Long, i As Long, j As Integer, b As Integer, riga, testo As String
ur = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To ur
riga = Split(Cells(i, 1), " ")
b = 2
For j = 0 To UBound(riga)
testo = riga(j)
For k = 1 To Len(testo)
If Mid(testo, k, 1) = "," Then
b = b + 1
Cells(i, b) = riga(j)
End If
Next k
Next j
Next i
End Sub
Ovviamente da associare ad un pulsante (non ActiveX).
Fai sapere. Ciao,
Mario |
| | Post: 2.798 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
22/02/2017 16:16 | |
Mario bravo ma hai dimenticato di dichiarare la variabile k as Integer.
Inutile dire che la macro funziona perfettamente. [Modificato da alfrimpa 22/02/2017 16:17]
Alfredo |
| | Post: 336 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | ONLINE |
|
22/02/2017 16:25 | |
Salve
Scusate ma è stata colpa della ... fretta perchè temevo che tu mi anticipassi ancora
Ciao e grazie per la giustissima osservazione,
Mario |
| | Post: 2.800 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
22/02/2017 16:27 | |
Mario alla nostra età non ci dobbiamo "fare belli"
E poi io a scrivere una macro di quel tipo ci avrei messo una settimana e tu avresti avuto tutto il tempo (anche di andare a giocare con i tuoi nipotini).
Un caro saluto.
Alfredo |
| | Post: 13 | Registrato il: 29/06/2008
| Città: ACQUAFONDATA | Età: 44 | Utente Junior | excel 2007 | | OFFLINE | |
|
22/02/2017 16:41 | |
Alfredo :va benissimo .... grazieeee
ma come hai fatto ? non vedo formule ... è una macro ?
Mario: .... come dovrei integrare quel K ? me la puoi riscrivere ?
grazie e tutti
questo sito è MERAVIGLIOSO |
| | Post: 337 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | ONLINE |
|
22/02/2017 16:51 | |
Ciao Stellablu
ti riporto il codice
Sub Importi()
Dim ur As Long, i As Long, j As Integer, k As Integer, b As Integer, riga, testo As String
ur = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To ur
riga = Split(Cells(i, 1), " ")
b = 2
For j = 0 To UBound(riga)
testo = riga(j)
For k = 1 To Len(testo)
If Mid(testo, k, 1) = "," Then
b = b + 1
Cells(i, b) = riga(j)
End If
Next k
Next j
Next i
End Sub
Ciao,
Mario |
| | Post: 15 | Registrato il: 29/06/2008
| Città: ACQUAFONDATA | Età: 44 | Utente Junior | excel 2007 | | OFFLINE | |
|
22/02/2017 17:05 | |
GRAZIEEEEEEEEEEEEEEEEEEEEEEEEEEEE |
| | Post: 2.801 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
22/02/2017 17:27 | |
stellablu79, 22/02/2017 16.41:
Alfredo :va benissimo .... grazieeee
ma come hai fatto ? non vedo formule ... è una macro
questo sito è MERAVIGLIOSO
No Paola era solo un tentativo manuale (fatto con le formule RICERCA e STRINGA.ESTRAI) giusto per vedere se ero sulla strada giusta.
Ma poi è arrivato Mario che mi ha fregato
Noto, con piacere, che hai iniziato anche tu a rispondere alle domande sul forum brava!
Ora non ti resta che iniziare a studiare un po' di VBA così potrai rispondere ad un numero sempre maggiore di quesiti (anche se anche con il solo Excel c'è una montagna di cose da sapere).
Comunque se hai bisogno di informazioni, consigli o altro non hai che da chiedere. [Modificato da alfrimpa 22/02/2017 17:28]
Alfredo |
| | Post: 16 | Registrato il: 29/06/2008
| Città: ACQUAFONDATA | Età: 44 | Utente Junior | excel 2007 | | OFFLINE | |
|
23/02/2017 08:02 | |
sono una dilettante paragonata a voi ma adoro excel quindi qualcosina l ho imparata
Grazie ancora |
| | Post: 2.804 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
23/02/2017 10:06 | |
Ma ogni dilettante, prima o poi, diventa esperta no?
Alfredo |
|
|