| | Post: 57 | Registrato il: 20/02/2015
| Età: 50 | Utente Junior | 2007 / 2010 | | OFFLINE | |
|
27/07/2020 19:49 | |
Spesso incollo tabelle da pdf che si adattano in maniera strana.
Prima di tutto sono serie numeriche a 6 cifre che possono avere lo zero iniziale e anche se formatto tutto il foglio come testo, lo zero iniziale sparisce.
Vorrei se possibile con un'unica formula che si dividessero e si andassero a sistemare su un'unica riga o colonna.
Nel file allegato in A i dati come vengono incollati.
A me servirebbero staccati come nelle colonne C, D, E, F, G,
ma soprattutto messi su un'unica riga come da I2 in poi o un'unica colonna come da Y2 in poi.
Spero sia tutto chiaro [Modificato da mapero 27/07/2020 19:56] |
|
|
27/07/2020 21:55 | |
Formule non credo, prova tramite VBA (Alt+F11 ed incolla a destra) Sub DatiV()
Dim x, y, ur, r, msg
ur = Range("A" & Rows.Count).End(xlUp).Row
r = 2
For x = 2 To ur
msg = Split(Cells(x, 1), " ")
For y = LBound(msg) To UBound(msg)
If msg(y) <> "" Then Cells(r, 2) = msg(y): r = r + 1
Next y
Next x
End Sub
'oppure orizzontale
Sub DatiO()
Dim x, y, ur, c, msg
ur = Range("A" & Rows.Count).End(xlUp).Row
c = 2
For x = 2 To ur
msg = Split(Cells(x, 1), " ")
For y = LBound(msg) To UBound(msg)
If msg(y) <> "" Then Cells(2, c) = msg(y): c = c + 1
Next y
Next x
End Sub |
| | Post: 57 | Registrato il: 20/02/2015
| Età: 50 | Utente Junior | 2007 / 2010 | | OFFLINE | |
|
28/07/2020 12:04 | |
mi occorre capire da che cella in poi viene eseguita la macro,
perchè ora la tabella essendo più ampia dell'esempio ha "invaso" il risultato |
|
28/07/2020 12:21 | |
Il VBA esegue sull'allegato spostato, se la tabella è più grande...
Se intendi che ci sono più righe, va bene lo stesso (inizia da A2 e incolla in B2).
>>>più ampia dell'esempio
Cosa intendi dire (che ci sono più colonne), risposta un'allegato e fornisci informazioni più dettagliate sulle tabelle future. [Modificato da ABCDEF@Excel 28/07/2020 12:28] |
| | Post: 58 | Registrato il: 20/02/2015
| Età: 50 | Utente Junior | 2007 / 2010 | | OFFLINE | |
|
28/07/2020 12:33 | |
le tabelle hanno più righe e più colonne
Non si può inserire un range anche se non ci sono dati ?
come righe mai più di 100 e come colonne non più di 50 |
|
28/07/2020 13:14 | |
Senza ulteriori spiegazioni ed allegato non posso fare miracoli
Questo analizza quante righe ci sono e quante colonne ci sono.
Parte da A2 e scrive verticalmente la riga in AY2
La colonna successiva sarà in AZ2 ecc ecc Sub DatiV()
Dim x, y, w, urR, urC, r, c, msg
urR = Range("A" & Rows.Count).End(xlUp).Row
urC = Cells(2, Columns.Count).End(xlToLeft).Column
If urC > 50 Then MsgBox "troppe colonne": Exit Sub
c = 50
For y = 1 To urC
c = c + 1
r = 2
For x = 2 To urR
msg = Split(Cells(x, y), " ")
For w = LBound(msg) To UBound(msg)
If msg(w) <> "" Then Cells(r, c) = msg(w): r = r + 1
Next w
Next x
Next y
End Sub |
|
|