Arbeiten mit VBA-Funktionen, die ein Array in Excel 2016 zurückgeben

Arbeiten mit VBA-Funktionen, die ein Array in Excel 2016 zurückgeben

Array-Formeln sind eine der leistungsstärksten Funktionen von Excel. Wenn Sie mit Arrayformeln vertraut sind, werden Sie sich freuen zu wissen, dass Sie VBA-Funktionen erstellen können, die ein Array zurückgeben.

Rückgabe eines Arrays von Monatsnamen

Beginnen wir mit einem einfachen Beispiel. Die Funktion MonthNames gibt ein Array mit 12 Elementen von – Sie haben es erraten – Monatsnamen zurück.

Funktion MonthNames()
  MonthNames = Array("Januar", "Februar", "März", _
   „April“, „Mai“, „Juni“, „Juli“, „August“, _
   "September Oktober November Dezember")
Endfunktion

Um die MonthNames-Funktion in einem Arbeitsblatt zu verwenden, müssen Sie sie als 12-Zellen-Array-Formel eingeben. Wählen Sie beispielsweise den Bereich A2:L2 aus und geben Sie =MonthNames() ein . Drücken Sie dann Strg+Umschalt+Eingabe, um die Matrixformel in alle 12 ausgewählten Zellen einzugeben. Sehen Sie sich das Ergebnis an.

Arbeiten mit VBA-Funktionen, die ein Array in Excel 2016 zurückgeben

Verwenden der Funktion MonthNames, um ein Array mit 12 Elementen zurückzugeben.

Wenn die Monatsnamen in einer Spalte angezeigt werden sollen, wählen Sie 12 Zellen in einer Spalte aus und verwenden Sie diese Matrixformel. (Vergessen Sie nicht, es durch Drücken von Strg+Umschalt+Eingabe einzugeben.)

=TRANSPOSE(Monatsnamen())

Sie können auch einen einzelnen Monat aus dem Array auswählen. Hier ist eine Formel (keine Array-Formel), die das vierte Element des Arrays anzeigt: April.

=INDEX(Monatsnamen(),4)

Rückgabe einer sortierten Liste

Angenommen, Sie haben eine Liste mit Namen, die Sie in sortierter Reihenfolge in einem anderen Zellbereich anzeigen möchten. Wäre es nicht schön, wenn eine Arbeitsblattfunktion das für Sie erledigt?

Diese benutzerdefinierte Funktion macht genau das: Sie nimmt einen einspaltigen Zellbereich als Argument und gibt dann ein sortiertes Array dieser Zellen zurück. Bereich A2:A13 enthält einige Namen. Der Bereich C2:C13 enthält diese Formel für ein mehrzelliges Array. (Denken Sie daran, dass Sie die Formel durch Drücken von Strg+Umschalt+Eingabe eingeben müssen.)

Arbeiten mit VBA-Funktionen, die ein Array in Excel 2016 zurückgeben

Verwenden einer benutzerdefinierten Funktion, um einen sortierten Bereich zurückzugeben.

=Sortiert(A2:A13)

Hier ist der Code für die Sortierfunktion:

Funktion sortiert (Rng als Bereich)
  Dim SortedData() als Variante
  Zelle als Bereich dimmen
  Dim Temp As Variant, i As Long, j As Long
  Dim NonEmpty As Long
' Daten zu SortedData übertragen
  Für jede Zelle in Rng
    Wenn nicht leer (Zelle) dann
      Nicht leer = Nicht leer + 1
      ReDim Preserve SortedData (1 bis nicht leer)
      SortedData(NonEmpty) = Cell.Value
    Ende Wenn
  Nächste Zelle
'Array sortieren
  Für i = 1 To NonEmpty
    Für j = i + 1 To NonEmpty
      Wenn SortedData(i) > SortedData(j) Then
        Temp = SortierteDaten(j)
        SortierteDaten(j) = SortierteDaten(i)
        SortedData(i) = Temp
      Ende Wenn
    Nächstes j
  Als nächstes
' Array transponieren und zurückgeben
  Sortiert = Application.Transpose(SortedData)
Endfunktion

Die Sorted-Funktion beginnt mit der Erstellung eines Arrays namens SortedData. Dieses Array enthält alle nicht leeren Werte im Argumentbereich. Als Nächstes wird das SortedData-Array mithilfe eines Bubble-Sort-Algorithmus sortiert. Da das Array ein horizontales Array ist, muss es transponiert werden, bevor es von der Funktion zurückgegeben wird.

Die Sortierfunktion funktioniert mit einem Bereich beliebiger Größe, solange er sich in einer einzelnen Spalte oder Zeile befindet. Wenn sich die unsortierten Daten in einer Zeile befinden, muss Ihre Formel die TRANSPOSE-Funktion von Excel verwenden, um die sortierten Daten horizontal anzuzeigen. Zum Beispiel:

=TRANSPOSE(Sortiert(A16:L16))

Smartsheet 9.1.1

Smartsheet 9.1.1

Smartsheet ist eine dynamische Arbeitsplattform, mit der Sie Projekte verwalten, Arbeitsabläufe erstellen und mit Ihrem Team zusammenarbeiten können.

SharePoint

SharePoint

SharePoint ist ein webbasiertes Kollaborationssystem, das eine Vielzahl von Workflow-Anwendungen, „Listen“-Datenbanken und anderen Webkomponenten sowie Sicherheitsfunktionen verwendet, um die Zusammenarbeit von Unternehmensgruppen zu steuern.

Ewiger Kalender 1.0.38/1.0.36

Ewiger Kalender 1.0.38/1.0.36

Van Nien Calendar ist eine Kalenderanzeigeanwendung auf Ihrem Telefon, die Ihnen hilft, schnell das Monddatum auf Ihrem Telefon zu sehen und so Ihre wichtige Arbeit zu ordnen.

Microsoft Outlook 2021

Microsoft Outlook 2021

Microsoft Outlook ist eine Geschäfts- und Produktivitätsanwendung, die von der Microsoft Corporation entwickelt wurde.

ClickUp

ClickUp

ClickUp ist eine der am höchsten bewerteten Produktivitätsplattformen für jedes Unternehmen. Große Unternehmen wie Google, Booking.com, San Diego Padres und Uber nutzen ClickUp, um die Produktivität am Arbeitsplatz zu steigern.

PDF-XChange Viewer 2.5.322.10

PDF-XChange Viewer 2.5.322.10

PDF ist zu einem häufig verwendeten Format zum Lesen, Erstellen und Senden von Textdokumenten geworden. Im Gegenzug hat die Zahl der für diese Art der Dokumentation eingesetzten Programme zugenommen. PDF-XChange Viewer gehört zu einer wachsenden Zahl von PDF-Viewern.

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice bietet eine vollständige Suite von Office-Anwendungen, die mit Microsoft 365 konkurrieren können, insbesondere in Excel, PowerPoint und Word. Es ermöglicht Ihnen eine effektivere Verwaltung Ihrer Projekte und unterstützt mehrere Dateiformate.

Laden Sie iTaxviewer 1.8.7 herunter

Laden Sie iTaxviewer 1.8.7 herunter

Die iTaxViewer-Software ist heute die beliebteste Software zum Lesen von XML-Dateien. Bei dieser Software handelt es sich um eine Anwendung zum Lesen elektronischer Steuererklärungen im XML-Format des General Department of Taxation.

Nitro PDF Reader

Nitro PDF Reader

Nitro PDF Reader ist ein praktischer PDF-Editor, der alle grundlegenden Aufgaben abdeckt, die die meisten Menschen täglich mit PDF-Dokumenten ausführen.

Foxit Reader 12

Foxit Reader 12

Foxit Reader ist in erster Linie ein PDF-Reader und ermöglicht Ihnen außerdem, PDF-Dateien zu erstellen, sie zu signieren, zu bearbeiten und Anmerkungen hinzuzufügen. Es funktioniert auf Betriebssystemen, es gibt Plugins für verschiedene Programme aus dem Microsoft Office-Paket.