Array mit bestimmten Spalten füllen in Excel
Schritt-für-Schritt-Anleitung
Um ein Array in Excel mit bestimmten Spalten basierend auf Bedingungen zu füllen, kannst du folgenden VBA-Code verwenden. Dieser Code liest die Daten aus einem bestimmten Bereich und schreibt sie anschließend in ein anderes Blatt, abhängig von den Inhalten der ersten Zeile.
-
Daten einlesen:
myarr = Sheets("Daten").Range("A2:M13").Value
-
Bedingungen prüfen und Daten zurückschreiben:
If Sheets("Daten").Range("A2").Value = "keine Angabe" And _
Sheets("Daten").Range("M2").Value = "keine Angabe" Then
Sheets("Daten2").Range(Cells(sz, sp), Cells(sz + UBound(myarr, 1) - 1, sp + UBound(myarr, 2) - 1)) = myarr
End If
-
Füge diesen Code in ein VBA-Modul ein und passe die Zellreferenzen nach Bedarf an.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode zum Füllen eines Arrays ist die Verwendung von Filter-Funktionen in Excel. Du kannst mit Formeln wie FILTER
(verfügbar in Excel 365) bestimmte Daten basierend auf Bedingungen extrahieren, ohne VBA verwenden zu müssen:
=FILTER(Daten!A2:M13, (Daten!A2:A13 = "keine Angabe") * (Daten!M2:M13 = "keine Angabe"))
Diese Formel gibt dir alle Zeilen zurück, die die Bedingungen erfüllen.
Praktische Beispiele
Angenommen, du hast folgende Daten in „Daten“:
A |
B |
... |
M |
keine Angabe |
Beispiel |
... |
keine Angabe |
Test |
Beispiel |
... |
Test |
Wenn du die oben genannten Bedingungen anwendest, wird nur die erste Zeile in das Array übernommen, wenn die Bedingungen erfüllt sind.
Tipps für Profis
FAQ: Häufige Fragen
1. Frage
Wie kann ich das Array nur mit bestimmten Spalten füllen?
Antwort: Du kannst die Indizes des Arrays anpassen, indem du nur die gewünschten Spalten in die Zuweisung aufnimmst.
2. Frage
Funktioniert das auch in Excel 2016?
Antwort: Ja, die oben beschriebenen VBA-Methoden sind auch in Excel 2016 verfügbar. Formeln wie FILTER
sind jedoch nur in Excel 365 verfügbar.