Errore formattazione date



  • Errore formattazione date
    di fantedicoppe data: 16/10/2016 19:27:40

    Salve a tutti

    ho 2 fogli di 2 file differenti, il primo ha una colonna con gli importi ed una colonna con le date della transazione. il secondo file ha solo degli importi.
    devo controllare che i valori del secondo foglio siano presenti nel primo e devo scrivere a fianco la data corrispondente.

    Il mio problema e' che a volte giorno e mese sono invertiti, ma solo in alcune celle... provo a mostrarvi un esempio


    se ho questi dati:
    1035.19 12-09-2016
    9079.24 12-09-2016
    2495.2 12-09-2016
    82.09 12-09-2016
    909.99 13-09-2016
    9292.46 13-09-2016
    2737.02 13-09-2016

    lo script mi calcola le seguenti date:
    1117.28 09/12/2016
    12029.48 13/09/2016
    909.99 13/09/2016

    1117.28 sarebbe 1035.19 + 82.09, le date sono uguali ma poi il dato riportato ha giorni e mesi invertiti, ma solo in poche celle, non in tutte

    qualcuno ha idea di dove ho sbagliato?
    invece di usare le stringhe ho provato ad usare le variabili date, ad usare format("dd-mm-yy"), a copiare il valore delle celle ma niente da fare


    il codice non e' dei migliori,ho provato a riscriverlo spero senza errori visto che nel file originale e' un po piu' incasinato, cmq la struttura usata e' questa

     
    Dim i, j As Integer
    Dim ToCheck As Double
    Dim Data As String
    Dim cl As Range
    
    For Each cl In Range("A2:A50")
    Data = ""
       If cl.Value <> "" Then
          ToCheck = cl.Value
          Sheets("foglio2").Activate
          For i = 1 To 500
             For j = 1 To 500
                If i <> j And ToCheck = Cells(i, 1).Value + Cells(j, 1).Value Then
                    Cells(i, 1).Interior.ColorIndex = 2
                    Cells(j, 1).Interior.ColorIndex = 2
                    'se le date sono uguali ne memorizzo una, se sono diverse le metto in ordine
                    If Cells(i, 2).Value = Cells(j, 2).Value Then
                        Data = CStr(Cells(i, 2).Value)
                    ElseIf Cells(i, 2).Value < Cells(j, 2).Value Then
                        Data = CStr(Cells(i, 2).Value) & " ; " & CStr(Cells(j, 2).Value)
                    Else: Data = CStr(Cells(j, 2).Value) & " ; " & CStr(Cells(i, 2).Value)
                    Sheets("foglio1").Activate
                    GoTo ES1
                    End If
                End If
             Next j
          Next i
       End If
    ES1:
        Sheets("foglio1").sctivate
        If Data <> "" Then
            cl.ColorIndex = 2
            cl.Offset(0, 1).Value = Data
        End If
    Next cl