Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Zusammenfassung

Dieser Artikel enthält Beispielverfahren für Microsoft Visual Basic for Applications, die Sie für die Arbeit mit verschiedenen Arraytypen verwenden können.

Weitere Informationen

Microsoft stellt Programmierbeispiele nur zur Veranschaulichung bereit, ohne ausdrückliche oder implizite Garantie. Dies umfasst, ist aber nicht beschränkt auf die impliziten Gewährleistungen der Handelsüblichkeit oder Eignung für einen bestimmten Zweck. In diesem Artikel wird davon ausgegangen, dass Sie mit der Programmiersprache, die veranschaulicht wird, und mit den Tools vertraut sind, die zum Erstellen und Debuggen von Prozeduren verwendet werden. Microsoft-Supporttechniker können ihnen helfen, die Funktionalität eines bestimmten Verfahrens zu erklären, aber sie werden diese Beispiele nicht ändern, um zusätzliche Funktionen bereitzustellen oder Verfahren zu erstellen, die Ihren spezifischen Anforderungen entsprechen. HINWEIS: In Visual Basic for Applications Verfahren sind die Wörter nach dem Apostroph (') Kommentare.
 

So füllen Sie ein Array aus, und kopieren Sie es dann in ein Arbeitsblatt

  1. Öffnen Sie eine neue Arbeitsmappe, und fügen Sie ein Visual Basic-Modulblatt ein.

  2. Geben Sie den folgenden Code auf dem Modulblatt ein.

    Sub Sheet_Fill_Array()
       Dim myarray As Variant
       myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
       Range("a1:a10").Value = Application.Transpose(myarray)
    End Sub
    
  3. Wählen Sie Blatt1 aus.

  4. Zeigen Sie im Menü Extras auf Makro, und klicken Sie dann auf Makros.

  5. Klicken Sie im Dialogfeld Makro auf Sheet_Fill_Array und dann auf Ausführen.

So nehmen Sie Werte aus einem Arbeitsblatt und füllen das Array aus

  1. Geben Sie Werte in Sheet1 in die Zellen A1:A10 ein.

  2. Geben Sie auf einem Visual Basic-Modulblatt den folgenden Code ein:

    Sub from_sheet_make_array()
       Dim thisarray As Variant
       thisarray = Range("a1:a10").Value
    
       counter = 1                'looping structure to look at array
       While counter <= UBound(thisarray)
          MsgBox thisarray(counter, 1)
          counter = counter + 1
       Wend
    End Sub
    
  3. Wählen Sie Blatt1 aus.

  4. Zeigen Sie im Menü Extras auf Makro, und klicken Sie dann auf Makros.

  5. Klicken Sie im Dialogfeld Makro auf from_sheet_make_array und dann auf Ausführen.

So übergeben und empfangen Sie ein Array

  1. Geben Sie auf einem Modulblatt den folgenden Code ein:

    Sub pass_array()
       Dim thisarray As Variant
       thisarray = Selection.Value
       receive_array (thisarray)
    End Sub
    
    Sub receive_array(thisarray)
       counter = 1
       While counter <= UBound(thisarray)
          MsgBox thisarray(counter, 1)
          counter = counter + 1
       Wend
    End Sub
    
  2. Wählen Sie Blatt1 aus, und markieren Sie den Bereich A1:A10.

  3. Zeigen Sie im Menü Extras auf Makro, und klicken Sie dann auf Makros.

  4. Klicken Sie im Dialogfeld Makro auf pass_array und dann auf Ausführen.

So vergleichen Sie zwei Arrays

  1. Erstellen Sie zwei benannte Bereiche in Sheet1. Benennen Sie einen Bereich1 und den anderen Bereich2.

    Markieren Sie beispielsweise den Zellbereich A1:A10, und nennen Sie ihn range1; Markieren Sie den Zellbereich B1:B10, und nennen Sie ihn range2.

  2. Geben Sie den folgenden Code auf dem Modulblatt ein.

    Sub compare_two_array()
       Dim thisarray As Variant
       Dim thatarray As Variant
    
       thisarray = Range("range1").Value
       thatarray = Range("range2").Value
       counter = 1
       While counter <= UBound(thisarray)
          x = thisarray(counter, 1)
          y = thatarray(counter, 1)
          If x = y Then
             MsgBox "yes"
          Else MsgBox "no"
          End If
          counter = counter + 1
       Wend
    End Sub
    
  3. Wählen Sie Blatt2 aus.

  4. Zeigen Sie im Menü Extras auf Makro, und klicken Sie dann auf Makro.

  5. Klicken Sie im Dialogfeld Makro auf compare_two_array und dann auf Ausführen.

    Für jeden Vergleich wird ein Meldungsfeld angezeigt.

So füllen Sie ein dynamisches Array

  1. Geben Sie auf einem Modulblatt den folgenden Code ein:

    Sub fill_array()
    
       Dim thisarray As Variant
       number_of_elements = 3     'number of elements in the array
    
       'must redim below to set size
       ReDim thisarray(1 To number_of_elements) As Integer
       'resizes this size of the array
       counter = 1
       fillmeup = 7
       For counter = 1 To number_of_elements
          thisarray(counter) = fillmeup
       Next counter
    
       counter = 1         'this loop shows what was filled in
       While counter <= UBound(thisarray)
          MsgBox thisarray(counter)
          counter = counter + 1
       Wend
    
    End Sub
    
  2. Zeigen Sie im Menü Extras auf Makro, und klicken Sie dann auf Makros.

  3. Klicken Sie im Dialogfeld Makro auf fill_array und dann auf Ausführen.

HINWEIS: Wenn Sie die Variable "number_of_elements" ändern, wird die Größe des Arrays bestimmt.
 

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×