Lavorare con le funzioni VBA che restituiscono una matrice in Excel 2016

Lavorare con le funzioni VBA che restituiscono una matrice in Excel 2016

Le formule di matrice sono una delle funzionalità più potenti di Excel. Se hai familiarità con le formule di matrice, sarai felice di sapere che puoi creare funzioni VBA che restituiscono una matrice.

Restituzione di un array di nomi di mesi

Cominciamo con un semplice esempio. La funzione MonthNames restituisce un array di 12 elementi di - hai indovinato - nomi di mesi.

Funzione MonthNames()
  MonthNames = Array(“Gennaio”, “Febbraio”, “Marzo”, _
   “Aprile”, “Maggio”, “Giugno”, “Luglio”, “Agosto”, _
   "Settembre ottobre Novembre Dicembre")
Fine funzione

Per utilizzare la funzione MonthNames in un foglio di lavoro, è necessario inserirla come formula di matrice di 12 celle. Ad esempio, seleziona l'intervallo A2:L2 e inserisci =MonthNames() . Quindi premere Ctrl + Maiusc + Invio per inserire la formula dell'array in tutte le 12 celle selezionate. Controlla il risultato.

Lavorare con le funzioni VBA che restituiscono una matrice in Excel 2016

Utilizzo della funzione MonthNames per restituire un array di 12 elementi.

Se vuoi che i nomi dei mesi vengano visualizzati in una colonna, seleziona 12 celle in una colonna e usa questa formula di matrice. (Non dimenticare di inserirlo premendo Ctrl+Shift+Invio.)

=TRASPOSIZIONE(Nomi dei mesi())

Puoi anche scegliere un solo mese dall'array. Ecco una formula (non una formula di matrice) che visualizza il quarto elemento della matrice: aprile.

=INDICE(Nomi dei mesi(),4)

Restituzione di un elenco ordinato

Supponiamo di avere un elenco di nomi che desideri mostrare in ordine ordinato in un altro intervallo di celle. Non sarebbe bello avere una funzione del foglio di lavoro che lo faccia per te?

Questa funzione personalizzata fa proprio questo: prende un intervallo di celle a colonna singola come argomento e quindi restituisce un array di quelle celle ordinate. L'intervallo A2:A13 contiene alcuni nomi. L'intervallo C2: C13 contiene questa formula di matrice multicella. (Ricorda che devi inserire la formula premendo Ctrl+Maiusc+Invio.)

Lavorare con le funzioni VBA che restituiscono una matrice in Excel 2016

Utilizzo di una funzione personalizzata per restituire un intervallo ordinato.

=Ordinato(A2:A13)

Ecco il codice per la funzione Ordinata:

Funzione ordinata (Rng come intervallo)
  Dim SortedData() come variante
  Cella fioca come intervallo
  Dim Temp As Variant, i As Long, j As Long
  Dim NonVuoto fino a quando
'Trasferisci dati a SortedData
  Per ogni cella in Rng
    Se non è vuoto (cella) allora
      Non vuoto = Non vuoto + 1
      ReDim Conserva i dati ordinati (da 1 a non vuoto)
      SortedData(NonEmpty) = Cell.Value
    Finisci se
  Cella successiva
' Ordina l'array
  Per i = 1 a Non vuoto
    Per j = i + 1 a NonVuoto
      Se SortedData(i) > SortedData(j) Then
        Temp = SortedData(j)
        SortedData(j) = SortedData(i)
        SortedData(i) = Temp
      Finisci se
    Avanti j
  Avanti io
' Traspone l'array e lo restituisce
  Ordinato = Application.Transpose(SortedData)
Fine funzione

La funzione Sorted inizia creando una matrice denominata SortedData. Questo array contiene tutti i valori non vuoti nell'intervallo di argomenti. Successivamente, viene ordinato l'array SortedData, utilizzando un algoritmo di ordinamento a bolle. Poiché l'array è un array orizzontale, deve essere trasposto prima di essere restituito dalla funzione.

La funzione ordinata funziona con un intervallo di qualsiasi dimensione, purché si trovi in ​​una singola colonna o riga. Se i dati non ordinati sono in una riga, la formula deve utilizzare la funzione TRANSPOSE di Excel per visualizzare i dati ordinati orizzontalmente. Per esempio:

=TRASPOSTA(Ordinato(A16:L16))

Smartsheet 9.1.1

Smartsheet 9.1.1

Smartsheet è una piattaforma di lavoro dinamica che ti consente di gestire progetti, creare flussi di lavoro e collaborare con il tuo team.

SharePoint

SharePoint

SharePoint è un sistema di collaborazione basato sul Web che utilizza una varietà di applicazioni per flussi di lavoro, database di "elenco" e altri componenti Web, nonché funzionalità di sicurezza per fornire controllo ai gruppi aziendali che lavorano insieme.

Calendario perpetuo 1.0.38/1.0.36

Calendario perpetuo 1.0.38/1.0.36

Van Nien Calendar è un'applicazione per la visualizzazione del calendario sul tuo telefono, che ti aiuta a vedere rapidamente la data lunisolare sul tuo telefono, organizzando così il tuo lavoro importante.

Microsoft Outlook 2021

Microsoft Outlook 2021

Microsoft Outlook è un'applicazione aziendale e di produttività sviluppata da Microsoft Corporation.

Fare clic su

Fare clic su

ClickUp è una delle piattaforme di produttività più apprezzate per qualsiasi azienda. Grandi aziende come Google, Booking.com, San Diego Padres e Uber utilizzano ClickUp per aumentare la produttività sul posto di lavoro.

Visualizzatore PDF-XChange 2.5.322.10

Visualizzatore PDF-XChange 2.5.322.10

Il PDF è diventato un formato comunemente utilizzato per leggere, creare e inviare documenti di testo. A sua volta, c'è stato un aumento del numero di programmi utilizzati per questo tipo di documentazione. PDF-XChange Viewer fa parte di un numero crescente di visualizzatori PDF.

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice offre una suite completa di applicazioni Office che rivaleggiano con Microsoft 365, in particolare in Excel, PowerPoint e Word. Ti consente di gestire i tuoi progetti in modo più efficace e supporta diversi formati di file.

Scarica iTaxviewer 1.8.7

Scarica iTaxviewer 1.8.7

Il software iTaxViewer è il software di lettura di file XML più popolare oggi. Questo software è un'applicazione per la lettura delle dichiarazioni fiscali elettroniche in formato XML del Dipartimento Generale delle Imposte.

Lettore PDF Nitro

Lettore PDF Nitro

Nitro PDF Reader è un pratico editor PDF che copre tutte le attività di base che la maggior parte delle persone esegue ogni giorno con i documenti PDF.

Foxit Reader 12

Foxit Reader 12

Foxit Reader è principalmente un lettore PDF e consente anche di creare file PDF, firmarli, modificarli e aggiungere annotazioni. Funziona su sistemi operativi, ci sono plugin per vari programmi del pacchetto Microsoft Office.