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

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: 10796
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: 10796
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.