Jonathan erstellt ein Makro und muss einen Zellbereich mit Werten füllen. Wenn er beispielsweise den Bereich A1: C1 füllen muss, sind derzeit drei Anweisungen erforderlich, um diesen Bereich zu füllen:

Range("A1") = "Test1"

Range("B1") = "Test2"

Range("C1") = "Test3"

Er fragt sich, ob es eine Möglichkeit gibt, sie in eine einzige Anweisung einzufügen, ähnlich der folgenden:

Range("A1:C1") = ("Test1","Test2","Test3")

Jonathans gewünschte Syntax ist eng, funktioniert aber nicht. So wird es funktionieren:

Range("A1:C1") = Array("Test1","Test2","Test3")

Beachten Sie die Verwendung der Array-Anweisung, die VBA mitteilt, dass das Folgende als eine Folge von Werten betrachtet werden sollte, die in der Folge von Zellen links vom Operator verwendet werden sollen. Interessanterweise können Sie Werte in Variablen einfügen und auch die Array-Anweisung verwenden, wie hier gezeigt:

sOne = "Apples"

sTwo = "Oranges"

sThree = "Artichokes"

Range("A1:C1") = Array(sOne, sTwo, sThree)

Sie können auch mit geraden Variablen arbeiten, wenn Sie Folgendes bevorzugen:

Dim sMyStrings(2) As String sMyStrings(0) = "Apples"

sMyStrings(1) = "Oranges"

sMyStrings(2) = "Artichokes"

Range("A1:C1") = sMyStrings

Der obige Code könnte auch wie folgt umgeschrieben werden:

Dim sMyStrings(2) As String sMyStrings = Array("Apples", "Oranges", "Artichokes")

Range("A1:C1") = sMyStrings

Wenn Sie die Werte nicht in einer Zeile, sondern in einer einzelnen Spalte platzieren möchten, müssen Sie die Transponierungsfunktion folgendermaßen verwenden:

Range("A1:A3") = Application.Transpose(Array("Test1","Test2","Test3"))

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (11702) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.

Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: