Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Macro ordinamento personalizzato

Ultimo Aggiornamento: 16/03/2017 19:49
Post: 2
Registrato il: 08/03/2017
Città: PIGLIO
Età: 37
Utente Junior
2013
OFFLINE
15/03/2017 10:07

Buongiorno, avrei bisogno di una mano in quanto non sono per nulla esperto di vba.
Avrei bisogno di una macro che mi ordinasse in maniera crescente il testo delle celle che io di volta in volta seleziono (più righe e più colonne, con riferimento a due livelli, stesso procedimento che si ottiene con l'ordinamento personalizzato in pratica). Con il registratore di macro sono riuscito ad ottenere una cosa simile, il problema è che la macro ordina le celle facendo sempre riferimento ad un intervallo di 7 righe (perché 7 righe avevo selezionato al momento di far partire il registratore ed infatti nel codice c'è scritto A1:A7) anche quando io voglio ordinare ad esempio solo 5 righe...
In pratica vorrei che fossi io a decidere in base alla selezione le celle da ordinare, spero di essere stato chiaro.
Questo è il codice della macro che uso, si può aggiustare? :-)
Grazie per l'aiuto


Sub Ordina()
'
' Ordina Macro
'
' Scelta rapida da tastiera: CTRL+o
'
ActiveWorkbook.Worksheets("Dale").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Dale").Sort.SortFields.Add Key:=ActiveCell. _
Range("A1:A7"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Dale").Sort.SortFields.Add Key:=ActiveCell. _
Offset(0, 1).Range("A1:A7"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Dale").Sort
.SetRange ActiveCell.Range("A1:L7")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Post: 947
Registrato il: 04/02/2009
Città: MILANO
Età: 64
Utente Senior
2000 - 2007
OFFLINE
15/03/2017 22:14

Prova a modificare così:

ActiveWorkbook.Worksheets("Dale").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Dale").Sort.SortFields.Add Key:=ActiveCell _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Dale").Sort.SortFields.Add Key:=ActiveCell. _
Offset(0, 1), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Dale").Sort
.SetRange Cells.CurrentRegion
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With


ciao
pietrol
pietrol
____________________________________
Win 10 Pro - Excel 2000 - 2007 -2016

Il lupo ululà, il castello ululì.
Post: 2
Registrato il: 08/03/2017
Città: PIGLIO
Età: 37
Utente Junior
2013
OFFLINE
16/03/2017 19:49

Re:
pietrol, 15/03/2017 22.14:

Prova a modificare così:

ActiveWorkbook.Worksheets("Dale").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Dale").Sort.SortFields.Add Key:=ActiveCell _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Dale").Sort.SortFields.Add Key:=ActiveCell. _
Offset(0, 1), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Dale").Sort
.SetRange Cells.CurrentRegion
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With


ciao
pietrol


Grazie mille!
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Importazione file txt personalizzato (4 messaggi, agg.: 14/03/2019 17:01)
Inviare mail aziendale con allegato file pdf personalizzato (5 messaggi, agg.: 28/11/2016 10:48)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 01:07. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com