| | Post: 2 | Registrato il: 11/12/2015
| Città: LIZZANELLO | Età: 48 | Utente Junior | 2007 | | OFFLINE | |
|
21/01/2020 19:23 | |
salve a tutti,
il problema sarebbe relativamente semplice se ci fosse una funzione in excel che permettesse la possibilità di organizzare un gruppo di celle secondo un ordine numerico senza però modificarne l'ordine di disposizione nelle celle stesse... E' più facile a mostrarvi lo schema che cercare di spiegarvi come fare.
vi allego il file...
grazie in anticipo a tutti per la disponibilità😉 [Modificato da gmaxim75 22/01/2020 08:36] |
|
| | Post: 485 | Registrato il: 15/01/2016
| Città: ROMA | Età: 51 | Utente Senior | 2016 | | OFFLINE |
|
21/01/2020 20:35 | |
Buonasera
in C8 da trascinare in basso
=SE(A8<>"";1;C7+1) |
| | Post: 2 | Registrato il: 11/12/2015
| Città: LIZZANELLO | Età: 48 | Utente Junior | 2007 | | OFFLINE | |
|
22/01/2020 08:34 | |
Grazie tante per la risposta, ma mi sa che non sono riuscito ad illustrare bene la situazione...
Allego nuovamente il file con le istruzioni al suo interno così che si possa comprendere meglio il problema.
grazie ancora😉 [Modificato da gmaxim75 22/01/2020 08:38] |
| | Post: 2.228 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Veteran | 2007 / 13 | | OFFLINE | |
|
22/01/2020 10:13 | |
ciao
in base al tuo file postato con i dati inseriti la sub() in questione e' pressappoco
da inserire in un modulo standar o nem modulo del foglio
Option Explicit
Sub OrdinaCol_A()
Dim i As Long, Trig As Long
Sheets("Fatture").Select
Trig = Cells(Rows.Count, 4).End(xlUp).Row
For i = 8 To Trig
If Cells(i, 1) = "" Then
Cells(i, 1) = Cells(i - 1, 1)
End If
Next
Range("A7:D" & Trig).Select
ActiveWorkbook.Worksheets("fatture").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("fatture").Sort.SortFields.Add Key:=Range("A8:A" & Trig) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("fatture").Sort
.SetRange Range("A7:D" & Trig)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
For i = 8 To Trig
If Cells(i, 2) = "" Then Cells(i, 1).ClearContents
Next i
Range("A7").Select
End Sub
riallego il tuo file
dimenticato il file [Modificato da locatevaresino 22/01/2020 10:14] Ciao da locate
excel 2007 / 13 |
| | Post: 3.679 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
22/01/2020 10:16 | |
Buona giornata, @gmaxim75. Mi sembra di capire che la struttura che desideri ottenere è quella indicata nell'immagine in allegato; o mi sbaglio?
N.b. Leggo solo ora la risposta di @locatevaresino, la struttura proposta rispecchia quanto proposto nella mia immagine.
In realtà avevo seguito un'altra strada utilizzando Formule e Formattazione condizionale senza VBA, ma la filosofia era quella proposta con VBA.
[Modificato da GiuseppeMN 22/01/2020 10.32]
Aggiungo: L'unico dubbio è l'estensione del File originale; .xls presumo sia riferito a Excel 2000 o Excel 2003. In questo caso credo debba essere rivisto l'ordinamento in VBA; quello proposto credo sia compatibile con versioni superiori a Excel 2003.
A disposizione.
Buon lavoro.
Giuseppe
[Modificato da GiuseppeMN 22/01/2020 10:49]
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 3 | Registrato il: 11/12/2015
| Città: LIZZANELLO | Età: 48 | Utente Junior | 2007 | | OFFLINE | |
|
22/01/2020 19:30 | |
Vorrei ringraziarvi oltre che per risoluzione del problema, anche per la CELERITA' con cui questo ha ricevuto risposto.
SIETE SUPERLATIVI nella vostra conoscenza del VBA e molto professional tutti!!!!
grazie ancora per avermi dato quest'altro piccolo frammento di conoscenza... sicuramente non sarà l'ultimo! 🙃🙃
a buon rendere.😉😉😉 |
| | Post: 4 | Registrato il: 11/12/2015
| Città: LIZZANELLO | Età: 48 | Utente Junior | 2007 | | OFFLINE | |
|
23/01/2020 18:10 | |
Salve a tutti, scusatemi, ma vorrei chiedervi solo una piccola correttiva al codice VBA.
Praticamente è tutto perfettamente funzionante, ma quando eseguo l'ordine numerico dopo che ho cancellato qualche riferimento, le celle vuote non vengono rimpiazzate dai dati susseguenti ma rimangono lì dove sono... Vorrei che si riorganizzassero senza lasciare nessuno spazio contiguo.
Grazie tante ragazzi.
Vi allego il file... |
| | Post: 2.232 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Veteran | 2007 / 13 | | OFFLINE | |
|
24/01/2020 10:14 | |
ciao
mi sembra di capire cosi'
in pratica ho aggiunto un altro ciclo for
Option Explicit
Sub OrdinaCol_A()
Dim i As Long, Trig As Long
Sheets("Fatture").Select
Trig = Cells(Rows.Count, 4).End(xlUp).Row
For i = 8 To Trig
If Cells(i, 1) = "" Then
Cells(i, 1) = Cells(i - 1, 1)
End If
Next
'''' questo
For i = 8 To Trig
If Cells(i, 3) = "" Then Cells(i, 1).ClearContents
Next i
'''''''
Range("A7:D" & Trig).Select
ActiveWorkbook.Worksheets("fatture").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("fatture").Sort.SortFields.Add Key:=Range("A8:A" & Trig) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("fatture").Sort
.SetRange Range("A7:D" & Trig)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
For i = 8 To Trig
If Cells(i, 2) = "" Then Cells(i, 1).ClearContents
Next i
Range("A7").Select
End Sub
Ciao da locate
excel 2007 / 13 |
| | Post: 5 | Registrato il: 11/12/2015
| Città: LIZZANELLO | Età: 48 | Utente Junior | 2007 | | OFFLINE | |
|
24/01/2020 15:43 | |
grazie tante locatevaresino, mi hai reso il lavoro mooolto più facile.
grazie ancora per la professionalità e disponibilità dimostratomi.
😉😉😉😉🤩
un saluto |
|
|