Sort tramite VBA su Excel

di il
1 risposte

Sort tramite VBA su Excel

Ciao,
sto cercando di fare un sort di una tabella excel mediante VBA, ma succede una cosa stranissima.

La versione è Excel 2003 in Inglese. Il foglio è la semplice colonna seguente contenente delle date e tutte le celle sono in formato "data":

01/02/2002
01/03/2002
01/07/2002
01/07/2002
01/08/2002
01/08/2002
01/08/2002
02/04/2002
02/05/2002

Ho eseguito il sort selezionando la colonna e tramite menù Data-->Sort (parametri "No header Row", "Sort anything that looks like a number, as a number"), l'ordinamento è avvenuto correttamente.
Ho quindi memorizzato una macro mentre eseguivo le suddette operazioni, e la macro generata è stata la seguente:

Columns("A:A").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers

Ma quando la faccio girare non ordina assolutamente nulla.
Per praticità ho ridotto il foglio excel a minimi termini per evidenziare il problema, ma nella realtà la mia è molto più grande e la macro esegue anche qualche cambiamento nella colonna, ma di sicuro non la ordina....

Qualcuno sa dirmi che succede?

Grazie.
Carlo

1 Risposte

  • Re: Sort tramite VBA su Excel

    Come sempre... Appena postato il problem ho trovato non la soluzione, ma qualcosa in più...

    Provando a ricopiare la colonna che ho riportato nel post in un foglio excel nuovo, il sort funziona bene anche in VBA!!
    In pratica la colonna nel mio foglio non risulta essere composta da "date", ma da testo (anche se il formato è "date") e per qualche ragione inspiegabile il sort di excel funziona correttamente, ma in VBA no...
    Quindi fermo restando che un problema esiste comunque, lo potrei aggirare modificando il contenuto delle celle in "date" (non il formato, che è già "Date")...Se sapete come fare senza dover ricorrere ad un loop in VBA che sarebbe un bel po' lungo...
Devi accedere o registrarti per scrivere nel forum
1 risposte