Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Manipolare ore superiori a 24

Ultimo Aggiornamento: 18/10/2017 11:59
Post: 2
Registrato il: 02/01/2017
Città: MILANO
Età: 41
Utente Junior
2016
OFFLINE
18/10/2017 11:31

Buogiorno a tutti,

ho una difficoltà nel gestire le ore superiori alle 24. Mi spiego meglio. Come sicuramente già sapete Excel di default, quando inseriamo un ora superiore alle 24 formatta in un determinato modo (aggiungendo data e formato ora fino a 16h). Nel formato celle riesco pure a far visualizzare correttamente le ore (del tipo 40:00) aggiungendo come tipo [h]:mm;@
La visualizzazione dunque è corretta, quando però in VBA mi trovo a gestire tale cella con le funzioni Hour e Minute, i valori restituiti sono (nel caso dell'esempio) rispettivamente 16 e 00, dunque VBA va a leggere ancora il formato che "impone" excel.
Come faccio a "recuperare" il valore 40 (cioè quello che visualizzo nel foglio di lavoro)?

PS. Prima di invocare la funzione Hour, leggo la cella in questo modo:

durata = Format(Cells(riga, 16), "hh:mm;@";)

poi
dur_h = Hour(Cells(riga, 16))

Grazie
Post: 2.027
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
18/10/2017 11:59

ciao

da come sai quello che vedi non e' la realta', dato che i valori sono solo numerice nelle celle
es un giorno e mezzo equivale a 1,5 giorni 1 e 12 ore quindi in VBA
ammettendo la tua cella in A1


Sub ore()
durata = Format(Cells(1, 1) * 24, "0") ''ore testo
dur_h = Cells(1, 1) * 24 '0re valore numerico
End Sub


Ciao da locate
excel 2007 / 13
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 09:57. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com