Moderatori: Anthony47, Flash30005
Option Explicit
Public I As Integer, J As Integer, RR As Integer
Sub Ordina_Speciale()
' ATTENZIONE la macro utilizza le colonne "C", "D", ed "E" come colonne di appoggio
' in queste colonne i dati verranno cancellati
Application.ScreenUpdating = False
RR = Range("A" & Rows.Count).End(xlUp).Row
Range("C:E").ClearContents
' Ordinamento per Importo decrescente
Range("A1:B" & RR).Sort Key1:=Range("B2"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
' Progressivo di Importo
For I = 2 To RR
Cells(I, 3) = I - 1
Next I
' Ordinamento Società e per Importo decrescente
Range("A1:C" & RR).Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
' Progressivo di Società
J = 1
For I = 3 To RR + 1
Cells(I - 1, 4) = J
If UCase(Cells(I, 1)) = UCase(Cells(I - 1, 1)) Then
J = J + 1
Else
J = 1
End If
Next I
J = Cells(2, 3)
' Progressivo di Importo-società
For I = 2 To RR
Cells(I, 5) = Format(J, "00000") & "-" & Format(Cells(I, 4), "00000")
If UCase(Cells(I, 1)) <> UCase(Cells(I + 1, 1)) Then
J = Cells(I + 1, 3)
End If
Next I
' Ordinamento per risultato finale
Range("A1:E" & RR).Sort Key1:=Range("E2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("C:E").ClearContents
Application.ScreenUpdating = True
MsgBox "Ordinamento dati effettuato"
End Sub
=B2-RIF.RIGA()/1000000
=GRANDE(D2:D2000;1)
=SE(CONTA.SE(F$2:F2;F2)>=CONTA.SE($A$2:$A$2000;F2);GRANDE(SE(VAL.ERRORE(CONFRONTA(D$2:D$2000;E$2:E2;0));D$2:D$2000;"");1);GRANDE(D$2:D$2000*(A$2:A$2000=F2);CONTA.SE(F$2:F2;F2)+1))
=INDICE(A$2:A$2000;CONFRONTA(E2;D$2:D$2000;0))
Option Explicit
Public I As Integer, RR As Integer, Nome_Appoggio As String, Massimo As Integer
Sub Ordina_Speciale()
' ATTENZIONE la macro utilizza la colonna "C" come colonna di appoggio
' in questa colonna i dati verranno cancellati
Application.ScreenUpdating = False
Foglio4.Select
RR = Range("A" & Rows.Count).End(xlUp).Row
' Ordinamento Società e per Importo decrescente
Range("A1:C" & RR).Sort Key1:=Range("A2"), Order1:=xlAscending, key2:=Range("B2") _
, order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
' Elabora utilizziando una colonna di appoggio (colonna "C") che contiene i Massimi Importi per Società
Dim Nome_Appoggio As String
Dim Massimo As Integer
Nome_Appoggio = Cells(1, 1)
Massimo = -1
For I = 1 To RR
If UCase(Cells(I, 1)) <> UCase(Nome_Appoggio) Then
Nome_Appoggio = Cells(I, 1)
Massimo = Cells(I, 2)
End If
Cells(I, 3) = Massimo
Next
' Ordinamento per Massimo Importo , per Società
Range("A1:C" & RR).Sort Key1:=Range("C2"), Order1:=xlDescending, key2:=Range("A2") _
, order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Range("C:C").ClearContents
Application.ScreenUpdating = True
MsgBox "Ordinamento dati effettuato"
End Sub
Torna a Applicazioni Office Windows
Ordinare colonne sulla stessa riga se stesso contenuto Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 10 |
Inserire dati filtrati da 2 file ad un terzo file Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 14 |
Supporto per sviluppo macro VBA Ordinare per data Autore: Carletto Ribolla |
Forum: Applicazioni Office Windows Risposte: 3 |
Perchè l'importazione dati con Selenium non fuziona? Autore: aggittoriu |
Forum: Applicazioni Office Windows Risposte: 7 |
Visitano il forum: Nessuno e 47 ospiti