Togliere zeri e vuote da una colonna
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

Un esempio che mostra come sia possibile scrivere una funzione che abbia come parametro un intervallo di celle e restituisca un intervallo di celle.
In questo caso la funzione ha come paramentro un elenco e ne restituisce uno senza celle vuote e senza valori a zero.
Deve essere inserita come formula di matrice: mettendo come parametro della funzione l'intervallo di origine, selezionando tutto l'intervallo di destinazione e confermando con Ctrl-Maiuscolo-Invio.

Function Togli_Zeri_E_Vuote(Origine As Range) As Variant
  ' numero di righe della colonna orgiginale e risultato
  NrRigheI = Origine.Rows.Count
  NrRigheA = Application.Caller.Rows.Count
  
  'matrice dei risultati
  Dim arrRes() As Variant
  ReDim arrRes(NrRigheA - 1, 1)

  'scorre le righe
  Ri = 1
  Ra = 0
  While (Ri <= NrRigheI And Ra <= NrRigheA)
    'copia il valore solo se non è vuoto o zero
    If (Origine.Cells(Ri, 1) <> "" And Origine.Cells(Ri, 1) <> 0) Then
      arrRes(Ra, 0) = Origine.Cells(Ri, 1)
      Ra = Ra + 1
    End If
    Ri = Ri + 1
  Wend
  
  'imposta a vuoto le rimanenti celle
  For R = Ra To NrRigheA - 1
    arrRes(R, 0) = ""
  Next R
    
  Togli_Zeri_E_Vuote = arrRes
End Function


L'esempio completo é scaricabile da questo link: Es328.xlsm (a questo link le info per attivare le macro se risultano bloccate)

Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.
Per dubbi o domande potete scriverci a domande@macrofacili.it, sulla nostra pagina FB MacroFacili.it o sul gruppo FB Excel, macro e formule.
 

data4idea srls - PIva 01881000937 - info@data4idea.it