IALweb Homepage
Forum Home Forum Home > MS Office > Microsoft Office > Microsoft Excel
  New Posts New Posts RSS Feed - vba ordinamento crescente numeri
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Lo staff di IALWeb forum Ŕ in ferie :D Contattare hyperion via MP o email per le urgenze e gravi problemi tecnici

vba ordinamento crescente numeri

 Post Reply Post Reply
Author
Message
mike87 View Drop Down
Utente Base
Utente Base


Joined: 16/Nov/2009
Location: Italy
Status: Offline
Points: 55
Post Options Post Options   Thanks (0) Thanks(0)   Quote mike87 Quote  Post ReplyReply Direct Link To This Post Topic: vba ordinamento crescente numeri
    Posted: 08/Gen/2011 at 10:17
Salve
con un banale codice ho creato un piccolo db su excel dove archiviare dei documenti, il guaio (a mio riguardo) Ŕ che ogni qual volta io chiuda il foglio excel, il codice mi ritorna a inserire una riga nella RIGA 3 e ora mi ritrovo con una l'archiviazione dei documenti con ordine sparso e non come l'avevo pensata in modo crescente.
Posto il pezzo di codice sperando di poter far qualcosa:

ActiveWindow.SmallScroll Down:=-15
    Sheets("Fatture").Select
    Rows("2:2").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("2:2").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    .
    .
    .
    Rows("3:3").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
    Range("A2").Select
    ActiveWorkbook.Worksheets("Fatture").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Fatture").Sort.SortFields.Add Key:=Range("A2"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Fatture").Sort
        .SetRange Range("A1:W3")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Sheets("Prospetto").Select
    Range("b1").Select
    Application.CutCopyMode = False
End Sub
Grazie in anticipo!
Back to Top
pietrol View Drop Down
Utente Senior
Utente Senior


Joined: 08/Feb/2009
Status: Offline
Points: 259
Post Options Post Options   Thanks (0) Thanks(0)   Quote pietrol Quote  Post ReplyReply Direct Link To This Post Posted: 08/Gen/2011 at 15:36
Ciao Mike87
non entro nel merito della macro, ma credo il problema tu segnali derivi da questa riga di codice:
.SetRange Range("A1:W3")
che limita il range da ordinare alle prime tre righe del foglio.

Non sapendo come sono organizzati i tuoi dati non mi azzardo a suggerirti una correzione.

ciao
pietrol

il lupo ululÓ il castello ululý
Back to Top
mike87 View Drop Down
Utente Base
Utente Base


Joined: 16/Nov/2009
Location: Italy
Status: Offline
Points: 55
Post Options Post Options   Thanks (0) Thanks(0)   Quote mike87 Quote  Post ReplyReply Direct Link To This Post Posted: 10/Gen/2011 at 13:29
Gentilissimo per l'immediata risposta,
il problema Ŕ quello, infatti appena messo appunto lo script Ŕ andato anche se non come volevo, perdonami se ti chiedo se ce una soluzione a questo mio quesito in quanto i "documenti" mi vengono registrati in questo modo:
1 10 ... 19 2 20 ... 29 3 30 ...39 4 40 ...
non riesco a venirne a capo!
Ciao MIke87
Back to Top
Ricky53 View Drop Down
Amministratore
Amministratore
Avatar
Esperto di Excel e PowerPoint

Joined: 05/Ott/2006
Location: Italy
Status: Offline
Points: 10821
Post Options Post Options   Thanks (0) Thanks(0)   Quote Ricky53 Quote  Post ReplyReply Direct Link To This Post Posted: 10/Gen/2011 at 14:37
Prima cosa dovrsti correggere l'intervallo che ti ha segnalato Pietrol.


Quote ... a questo mio quesito in quanto i "documenti" mi vengono registrati in questo modo:
...

i numeri cui ti riferisci sono ...
Leggi la mia firma e ...




Edited by Ricky53
AMMINISTRATORE

Dice il vecchio saggio provare e riprovare Ŕ l'unica strada per imparare

Pi¨ chiara Ŕ la vostra spiegazione
Pi¨ immediata sarÓ la nostra soluzione
Back to Top
mike87 View Drop Down
Utente Base
Utente Base


Joined: 16/Nov/2009
Location: Italy
Status: Offline
Points: 55
Post Options Post Options   Thanks (0) Thanks(0)   Quote mike87 Quote  Post ReplyReply Direct Link To This Post Posted: 11/Gen/2011 at 13:02
Ciao Ricky53
grazie per l'intervento premetto gia che l'intervallo segnalatomi Ŕ gia stato corretto. Ora l'ordine Ŕ:
1
10
11
...
19
2
20
21
...
29
3
30
31
invece di essere
1
2
3
4
5
6
e cosi via.
Cosa posso fare per risolvere questo mio problemino?
Grazie
Back to Top
pippo047 View Drop Down
Utente Senior
Utente Senior


Joined: 09/Gen/2007
Location: Italy
Status: Offline
Points: 416
Post Options Post Options   Thanks (0) Thanks(0)   Quote pippo047 Quote  Post ReplyReply Direct Link To This Post Posted: 11/Gen/2011 at 16:24
Evidentemente quella colonna contiene "stringhe", non "valori numerici".
Prova a usare, nella tua macro, DataOption:=xlSortTextAsNumbers invece di DataOption:=xlSortNormal

Ciao

Pippo047
Back to Top
mike87 View Drop Down
Utente Base
Utente Base


Joined: 16/Nov/2009
Location: Italy
Status: Offline
Points: 55
Post Options Post Options   Thanks (0) Thanks(0)   Quote mike87 Quote  Post ReplyReply Direct Link To This Post Posted: 12/Gen/2011 at 12:58
Ciao Pippo047
il suggerimento era azzeccato infatti appena modificato mi ha incolonnato i "documenti" alle perfezione, ora pero mi incolonna anche la prima riga dove vi sono i nomi delle colonne cioe dei valori memorizzati come testo!
Quindi cosa dovrei fare?
So che sono una rottura ma vi prego di aiutarmi, sono alle prime armi e con poca dimestichezza con la programmazione.
Grazie della collaborazione!

Back to Top
Ricky53 View Drop Down
Amministratore
Amministratore
Avatar
Esperto di Excel e PowerPoint

Joined: 05/Ott/2006
Location: Italy
Status: Offline
Points: 10821
Post Options Post Options   Thanks (0) Thanks(0)   Quote Ricky53 Quote  Post ReplyReply Direct Link To This Post Posted: 12/Gen/2011 at 13:20
Ciao,
quando ordini (dopo avere selezionato sia i dati che le intestazioni delle colonne) devi
mettere la "spunta" (check)
a
"con riga di intestazione"
AMMINISTRATORE

Dice il vecchio saggio provare e riprovare Ŕ l'unica strada per imparare

Pi¨ chiara Ŕ la vostra spiegazione
Pi¨ immediata sarÓ la nostra soluzione
Back to Top
pippo047 View Drop Down
Utente Senior
Utente Senior


Joined: 09/Gen/2007
Location: Italy
Status: Offline
Points: 416
Post Options Post Options   Thanks (0) Thanks(0)   Quote pippo047 Quote  Post ReplyReply Direct Link To This Post Posted: 12/Gen/2011 at 16:14
Da vba dovresti cambiare da .Header = xlNo a:
 .Header = xlyes

Ciao

Pippo047
Back to Top
mike87 View Drop Down
Utente Base
Utente Base


Joined: 16/Nov/2009
Location: Italy
Status: Offline
Points: 55
Post Options Post Options   Thanks (0) Thanks(0)   Quote mike87 Quote  Post ReplyReply Direct Link To This Post Posted: 13/Gen/2011 at 12:20
Salve
vi ringrazio per l'aiuto che m'avete dato, ho risolto i miei problemi grazie a voi!
per quanto riguarda l'incolonnamento della prima riga mi sono arrangiato cambiando solo:
.SetRange Range("A2:W10000")
al posto di
.SetRange Range("A1:W10000")
e ho risolto tutto.
Grazie ancora
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 10.17
Copyright ©2001-2013 Web Wiz Ltd.

This page was generated in 0,078 seconds.