You are here:---Rispondi a: Ordinare Dati
Rispondi a: Ordinare Dati2019-02-20T16:09:36+02:00

Home Forum Domande su Excel VBA e MACRO Ordinare Dati Rispondi a: Ordinare Dati

BySalvBySalv
Amministratore del forum
    Post totali: 462

    Ciao Prova questo

    Public Sub OrdE(fg, rp, cop, cof, coo, ord)
    Dim vert&
      Application.ScreenUpdating = False
      Sheets(fg).Select
      If Cells(rp + 1, cop) = "" Then Exit Sub
      vert = Cells(Rows.Count, cop).End(xlUp).Row
      Range(Cells(rp, cop), Cells(vert, cof)).Select
      If ord = 0 Then
          Selection.Sort Key1:=Cells(rp + 1, coo), Order1:=xlAscending, Header:=xlYes, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
      End If
      If ord = 1 Then
          Selection.Sort Key1:=Cells(rp + 1, coo), Order1:=xlDescending, Header:=xlYes, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
      End If
      Cells(1, 1).Select
    End Sub

    e una macro che accetta parametri, facilmente usabile anche nelle altre macro, il suo comando è questo

    call OrdE(fg, rp, cop, cof, coo, ord)
    i parametri sono quelli racchiusi tra parentesi

    fg = Nome Foglio “Fattura”
    rp = Riga partenza Compresa l’intestazione
    cp = Colonna Partenza “in numero”
    cf = Colonna Fine “in numero” l’ultima colonna dell’elenco
    coo = Colonna da ordinare “in numero”
    ord = tipo di ordinamento 0=ascendente, 1=discendente

    quindi fai la copia in un modulo e quando ti serve scrivi come nel tuo caso, scrivo una macro per lanciarla, ma lo stesso codice puoi inserirlo anche nel VBA

    Sub Lancia()
    call OrdE("Fattura",1,1,2,1,0)
    End Sub 

    in una macro solo Call ordE(etc…

    questa è adatta alle versioni precedenti

    Ciao By Sal :bye:

    Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

    Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

    Chiudi