Data e ora da siste...
 
Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

[Risolto] Data e ora da sistemare excel 2021

17 Post
3 Utenti
0 Reactions
630 Visualizzazioni
Jekob_82
(@jekob_82)
Post: 181
Estimable Member
Avviatore di Topic
 

Ciao ragazzi nel file allegato ci sono data e ora che sono da sistemare. Nel senso che avevo mandato a capo il testo nella stessa cella di modo che sopra ci fosse la data e dando invio scrivevo l'ora. Solo che ci sono alcuni orari, con i due punti come separatore e altri con la virgola.
Vorrei, se esiste una formula separare data e ora di modo che l'ora vada in una cella adiacente che ho creato, separando data consegna e ora consegna. Perchè ho notato con questo formato le formule fanno cilecca...

Versione di Excel
Sistema operativo
 
Postato : 23/03/2024 16:38
D@nilo
(@dnilo)
Post: 0
New Member
 

Ciao

I dati in colonna A non sono date ma testi

Se li devi lasciare in questo formato in B1 da trascinare in basso

 

=STRINGA.ESTRAI(A1;1;9)

 

In C1

 

=DESTRA(A1;5)

 
Postato : 23/03/2024 17:09
Jekob_82
(@jekob_82)
Post: 181
Estimable Member
Avviatore di Topic
 

no non va bene,

devo ottenere appunto in A la data e in B l'ora

 
Postato : 23/03/2024 17:15
D@nilo
(@dnilo)
Post: 0
New Member
 

Allora

I dati in colonna A sono dei testi e non delle date ora se vuoi ottenere le date in B e le ore in C basta moltiplicare per uno le formule di prima.....ma se dici che dati questi dati vuoi in A le date e in B le ore con le formule non si può fare ci vuole il VBA.... altrimenti riallega un file con i dati iniziali e il risultato da ottenere scritto a mano nelle celle di output 

 
Postato : 23/03/2024 18:00
Jekob_82
(@jekob_82)
Post: 181
Estimable Member
Avviatore di Topic
 

Ho risolto in altro modo, grazie lo stesso. Vba no mi viene l'orticaria solo a pensarci

 
Postato : 23/03/2024 18:06
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

in B1 da tirare a destra per una colonna

=SE.ERRORE(FILTRO.XML("<d><a>"&SOSTITUISCI($A1;CODICE.CARATT(10);"</a><a>")&"</a></d>";"//a["&RIF.COLONNA(A1)&"]");0)

la B1 formatti DATA

la C1 ORA

 

se vuoi spostare solo la data e tenere in A la data ci vuole il vba

 

IMPORTANTE

in un forum si condivide la soluzione

perciò se tu hai risolto da solo dovresti gentilmente condividere la soluzione

con gli altri utenti grazie

 

 
Postato : 23/03/2024 18:08
Jekob_82
(@jekob_82)
Post: 181
Estimable Member
Avviatore di Topic
 

Si il problema è che in alcune celle il separatore dell'ora è stato erroneamente inserito , e mi sfasa tutto,

Di per se funzionerebbe, ma mi servirebbe un qualcosa tipo sostituisci , con :

 

 
Postato : 23/03/2024 18:24
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

ti stavo scrivendo

che hai un fritto misto

codice.caratt

spazi

senza orari

orari con la virgola

e probabile non abbia visto tutto

questa dovrebbe risolvere

sempre da tirare a destra e in basso

=SE.ERRORE(FILTRO.XML("<d><a>"&SOSTITUISCI(SOSTITUISCI(SOSTITUISCI($A1;CODICE.CARATT(10);" " );",";":");" ";"</a><a>")&"</a></d>";"//a["&RIF.COLONNA(A$3)&"]");0)

 
Postato : 23/03/2024 18:39
Jekob_82
(@jekob_82)
Post: 181
Estimable Member
Avviatore di Topic
 

direi di no

 
Postato : 23/03/2024 18:44
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

direi di si

ti ho aggiunto anche il .  visto che un dato orario ha il punto

 
Postato : 23/03/2024 19:34
Jekob_82
(@jekob_82)
Post: 181
Estimable Member
Avviatore di Topic
 

Si l'idea è ottima e funziona ma aggiungendo altre 2 colonne per separare data e ora mi si sminchia il vba su un check che ho messo per un messaggio di alert all'apertura del file, quindi non è fattibile

 
Postato : 23/03/2024 20:58
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao non ti resta che il vba

oppure sposta la formula su un'altro foglio

e poi copia incolla come valore sulle colonna A e B del primo foglio

 

na rottura ma almeno hai quello che vuoi senza vba

 
Postato : 23/03/2024 21:31
Jekob_82
(@jekob_82)
Post: 181
Estimable Member
Avviatore di Topic
 

Aggiungendo colonne distinte per data e ora poi succede questo

 
Postato : 23/03/2024 21:43
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

ma scusa hai una macro

e cosa fa su quelle colonne

la posti per favore il file sarebbe meglio

 

 
Postato : 23/03/2024 21:47
Jekob_82
(@jekob_82)
Post: 181
Estimable Member
Avviatore di Topic
 

Option Explicit

Private Sub Worksheet_Activate()

Dim UltimaRiga As Long
Dim NextChange As Long
Dim msg As String
Dim costante As Long
Dim UltimoKm As Long
Dim UltimoRabbocco As Long
Dim RigaUltimoRabbocco As Long
Dim Costante1 As Long

'''''GESTIONE ERRORE CON TABELLA VUOTA
On Error GoTo GestioneErrori

RigaUltimoRabbocco = Me.Cells(Rows.Count, 10).End(xlUp).Row
UltimaRiga = Me.Cells(Rows.Count, 9).End(xlUp).Row

''''''GESTIONE ERRORE CON COLONNA RABBOCCHI VUOTA
On Error Resume Next
Costante1 = Me.Cells(RigaUltimoRabbocco, 10).Offset(0, -1) ''''VALORE KM PER ULTIMO RABBOCCO
On Error GoTo 0

UltimoKm = Cells(UltimaRiga, 9).Value

''''''DISTINGUIAMO I DUE CASI: SE CI SONO RABBOCCHI OPPURE NO

Select Case True
Case RigaUltimoRabbocco = 1
Select Case UltimoKm
Case 0 To 9999
NextChange = 10000
costante = 10000
Case 10000 To 19999
NextChange = 20000
costante = 20000
Case 20000 To 29999
NextChange = 30000
costante = 30000
Case 30000 To 39999
NextChange = 40000
costante = 40000
Case 40000 To 49999
NextChange = 50000
costante = 50000
Case 50000 To 59999
NextChange = 60000
costante = 60000
Case 60000 To 69999
NextChange = 70000
costante = 70000
Case 70000 To 79999
NextChange = 80000
costante = 80000
Case 80000 To 89999
NextChange = 90000
costante = 90000
Case 90000 To 99999
NextChange = 100000
costante = 100000
End Select

Case RigaUltimoRabbocco > 1

NextChange = Costante1 + 10000
End Select

If UltimaRiga <> 1 Then

msg = msg & "prossimo controllo livello olio, " & vbCrLf
msg = msg & "previsto per km " & Format(NextChange & vbCrLf, "#,##0") & vbCrLf
msg = msg & "mancano km " & Format(NextChange - UltimoKm, "#,##0")

MsgBox msg, , "controllo livello olio"
Else
Exit Sub

End If

Exit Sub

GestioneErrori:
MsgBox "La seconda riga è vuota"
Exit Sub

End Sub

Questo post è stato modificato 12 mesi fa da Jekob_82
 
Postato : 23/03/2024 21:55
Pagina 1 / 2
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download