Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Cancellazione caratteri da cella

13 views
Skip to first unread message

dadep

unread,
Mar 24, 2022, 6:46:57 AM3/24/22
to
Salve,
sono di nuovo a chiedere una mano.
ho un file csv che esporta data e ora nel formato "2022-03-24T10:34".
Devo trasformarlo in due colonne (una con la data e una con l'ora).
Nella macro ho gia' duplicato le colonne. Ora dovrei:
nella prima colonna rimouvere da T in poi (quindi gli ultimi 6
caratteri; in pratica cancellare la parte dell'ora).
Nella seconda colonna rimuovere i primi 11 caratteri (ossia la data e la
lettera T).
Le colonne nella tabella saranno le prime 2 (A e B da A1:A999 e B1:B999)

qui trovate il file su cui lavorare
https://app.box.com/s/4inw1lbw094sbhtzfegw352n08golfat

Grazie in anticipo

dadep

unread,
Mar 24, 2022, 7:52:41 AM3/24/22
to
Ho trovato queste funzioni che riportano i valori che mi servono
Left(Range("A1"), 10)
Right(Range("B1"), 5)

come faccio adesso ad inserirle nella macro ?

grazie 1000

dadep

unread,
Mar 24, 2022, 9:57:21 AM3/24/22
to
Il 24/03/2022 11:46, dadep ha scritto:
Per ora ho risolto utilzizando all'interno della macro l'Anteprima
suggerimenti del tab Dati, ma l'elaborazione e' parecchio lenta e pesante.

Zipper

unread,
Mar 24, 2022, 12:35:52 PM3/24/22
to
dadep ha spiegato il 24/03/2022 :
> Il 24/03/2022 11:46, dadep ha scritto:
>> Salve,
>> sono di nuovo a chiedere una mano.
>> ho un file csv che esporta data e ora nel formato "2022-03-24T10:34".
>> Devo trasformarlo in due colonne (una con la data e una con l'ora).
>> Nella macro ho gia' duplicato le colonne. Ora dovrei:
>> nella prima colonna rimouvere da T in poi (quindi gli ultimi 6
>> caratteri; in pratica cancellare la parte dell'ora).
>> Nella seconda colonna rimuovere i primi 11 caratteri (ossia la data e la
>> lettera T).
>> Le colonne nella tabella saranno le prime 2 (A e B da A1:A999 e B1:B999)

> Per ora ho risolto utilzizando all'interno della macro l'Anteprima
> suggerimenti del tab Dati, ma l'elaborazione e' parecchio lenta e pesante.

guarda, ti do una macro intera
------------
Sub dividi()
For i = 1 To 3
dataora = Cells(i, 1).Text
Cells(i, 1) = Left(dataora, 10)
Cells(i, 2) = Right(dataora, 5)
Next i
End Sub
----------
la macro andrà ad agire sulla colonna A del tuo file sostituendola col
solo giorno, e userà la colonna B per inserirci l'ora, il tutto nel
rispettivo formato

dadep

unread,
Mar 25, 2022, 4:20:05 AM3/25/22
to
Grazie infinite. Funziona a meraviglia ed e' decisamente piu' veloce che
l'anteprima suggerimenti.


Zipper

unread,
Mar 25, 2022, 4:54:31 AM3/25/22
to
dadep ha pensato forte :

> Grazie infinite. Funziona a meraviglia ed e' decisamente piu' veloce che
> l'anteprima suggerimenti.

se però
non sai quante sono le righe da elaborare
e
se le righe fossero decine o centinaia o più

la macro (generalizzata) diventa:
----------
Sub dividi()
Dim ur As Integer
Application.ScreenUpdating = False
ur = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To ur
dataora = Cells(i, 1).Text
Cells(i, 1) = Left(dataora, 10)
Cells(i, 2) = Right(dataora, 5)
Next i
Application.ScreenUpdating = True
End Sub
----------

dadep

unread,
Mar 25, 2022, 7:03:30 AM3/25/22
to
Grazie ancora. Ho messo come range 1:999, che non sara' comunque mai
raggiunto.

0 new messages