Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    96

    VBA - Date espresse in numeri....EXCEL

    Salve a tutti...

    ....se provate a scrivere una data in una cella di un foglio excel, noterete che il formato della cella diventa (quasi sempre) automaticamente un formato data (ad es. gg/mm/aaaa, o altri... ma cmq sempre un formato data).

    Se provate poi a forzare il formato della cella a "General"...vedrete che la data non viene visualizzata come noi siamo abiutuati a vederla, ma bensì viene visualizzata come un numero del tipo 37430.

    Questo perchè excel tratta i dati sempre come numeri....e poi li formatta in maniera diversa in fase di visualizzazione.


    Quello che vorrei sapere innanzitutto è: che significa quel numero? Saranno i giorni a partire da una certa data (tipo che so...1 gennaio 1970)? O cos'altro?

    E poi... lavorando con le macro (e quindi con VBA), una volta ottenuto il valore della data in formato numerico (semplicemente con la proprietà .Value2 della cella)....come si fa a testare che veramente quel numero rappresenta una data ??



    Grazie infinite.


    Ciao

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212

    Re: VBA - Date espresse in numeri....EXCEL

    Originariamente inviato da gigghia
    Salve a tutti...

    ....se provate a scrivere una data in una cella di un foglio excel, noterete che il formato della cella diventa (quasi sempre) automaticamente un formato data (ad es. gg/mm/aaaa, o altri... ma cmq sempre un formato data).

    Se provate poi a forzare il formato della cella a "General"...vedrete che la data non viene visualizzata come noi siamo abiutuati a vederla, ma bensì viene visualizzata come un numero del tipo 37430.

    Questo perchè excel tratta i dati sempre come numeri....e poi li formatta in maniera diversa in fase di visualizzazione.


    Quello che vorrei sapere innanzitutto è: che significa quel numero? Saranno i giorni a partire da una certa data (tipo che so...1 gennaio 1970)? O cos'altro?

    E poi... lavorando con le macro (e quindi con VBA), una volta ottenuto il valore della data in formato numerico (semplicemente con la proprietà .Value2 della cella)....come si fa a testare che veramente quel numero rappresenta una data ??



    Grazie infinite.


    Ciao
    Quel valore dovrebbe essere la tua data convertita in Double che è il tipo di dati con cui vengono trattate le date in ambiente Microsoft ( per quanto riguarda .NET non è più così, le date vengono trattate come Date).


  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    96
    ok, grazie mille.

    C'è qualche funzioncina....o qualche altro modo per poter testare se un Double è una data valida ? Cioè se rappresenta realmente una data?


    Grazie ancora.

    Ciao

  4. #4
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da gigghia
    ok, grazie mille.

    C'è qualche funzioncina....o qualche altro modo per poter testare se un Double è una data valida ? Cioè se rappresenta realmente una data?


    Grazie ancora.

    Ciao
    non conosco bene le procedure per VBA ma in VB c'è una funzione IsDate(x) che ti restituisce TRUE se il valore di x può essere interpretato come Date.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    96
    purtroppo IsDate() non funziona passandogli questo numero che rappresenta la data...

    ...mi chiedevo se esistesse qualche altro modo, mannaggia.


    Grazie cmq.


    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    96
    ma perchè non funziona !!!!???? IsDate() dovrebbe funzionare !!!! Giusto???

    E invece no.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.