anomalia su sottrazione



  • anomalia su sottrazione
    di Francesco (utente non iscritto) data: 01/12/2012 11:03:01

    per questa domanda ho quasi vergogna ma in rete non ho trovato nulla di pertinente quindi:

    perchè 0-12 = -12 e non a 0 ?



  • di Vecchio Frac data: 01/12/2012 11:45:54

    Non mi spingo a darti una risposta finchè la domanda non è più chiara :)
    Qual è il problema vero? solo di teoria dei numeri? qui ci vorrebbe un matematico puro ;)





  • di Francesco (utente non iscritto) data: 01/12/2012 11:58:31

    o sono ignorante (facile) o non capisco excel: il risultato non dovrebbe essere 0?



  • di Francesco (utente non iscritto) data: 01/12/2012 12:05:47

    il bello della storia è che lo stesso codice in un altro file da sempre ZERO (in punto va inserita icona che sbatte testa)



  • di Francesco (utente non iscritto) data: 01/12/2012 13:05:02

    ho sistemato un pochino il codice e adesso sembra funzionare. con un ciclo prevengo i valori = a zero ma il dilemma mi rimane



  • di Vecchio Frac data: 01/12/2012 13:20:32

    cit. " il risultato non dovrebbe essere 0 "
    ---> proprio no. I numeri negativi esistono da taaaanto tempo per esprimere debiti o differenze di quantità :)

    cit. " lo stesso codice in un altro file da sempre ZERO "
    ---> scusa ma non è così. In qualsiasi linguaggio di programmazione vengono gestiti i numeri negativi. Quindi 0 - 12 fa -12 anche in VBA :)
    C'è qualcosa che non ci dici... tipo che c'è un tappo che porta il valore a zero se questo è minore di zero.






  • di Francesco (utente non iscritto) data: 01/12/2012 13:35:09

    si in effetti hai ragione evidentemente ho sbattuto troppo la testa nei giorni scorsi!! (che sia sintomo di commozione celebrale?)
    (aggiungerei anche icona imbarazzata )
    ecco il mio codice:

     
     If Trim(x) = Trim(cella) And Trim(cella.Offset(0, -4).Value) = "0" Then
                APERTE = APERTE + 1
                cella.Offset(0, -4).Value = Format(Date, "yyyymmdd")
            End If
    
            If Trim(x) = Trim(cella) And Trim(cella.Offset(0, -4).Value) <> "0" Then
                cella.Offset(0, 17) = Trim(cella.Offset(0, -4).Value) - Trim(cella.Offset(0, -5).Value)
                max = Application.WorksheetFunction.max(T)
                min = Application.WorksheetFunction.min(T)
            End If
            If Trim(x) = Trim(cella) And Trim(cella.Offset(0, -4).Value) = Format(Date, "yyyymmdd") Then
                cella.Offset(0, -4).Value = "0"
            End If



  • di Vecchio Frac data: 01/12/2012 13:39:49

    Eccolo lì. Direi che abbiamo risolto.
    ^_^
     
    If Trim(x) = Trim(cella) And Trim(cella.Offset(0, -4).Value) = Format(Date, "yyyymmdd") Then
         cella.Offset(0, -4).Value = "0"
    End If






  • di Francesco (utente non iscritto) data: 01/12/2012 13:43:17

    E risolta sia (mi sto bendando la testa ^_^)