XL2000: Benutzerdefinierte Funktion nicht angrenzende Zellen in einem Array aktivieren

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 213403
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Zusammenfassung
In Microsoft Visual Basic für Applikationen können Sie eine benutzerdefinierte Funktion erstellen, die eine Nichtangrenzende Markierung von Zellen in einem Array umgeblättert werden. Dies ist hilfreich bei viele der integrierten Microsoft Excel-Funktionen, die einem einzelnen Bereich oder ein Array als Eingabe erfordern, wenn die Daten im Arbeitsblatt nicht in einen zusammenhängenden Bereich enthalten ist.
Weitere Informationen
Microsoft bietet Programmierbeispiele für Abbildung nur ohne Gewährleistung oder konkludent, einschließlich, aber nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit und/oder Eignung für einen bestimmten Zweck. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Spezialisten von Microsoft Support Services können bei Erläuterung die Funktionalität einer bestimmten Prozedur helfen, Sie werden ändert jedoch nicht Beispielen bieten Funktionen hinzugefügt oder Verfahren, um Ihren speziellen Anforderungen erstellen.
Wenn Sie Programmiererfahrung, beschränkt haben, sollten Sie ein Microsoft Certified Partner oder die Microsoft Advisory Services wenden. Weitere Informationen finden Sie auf diese Websites von Microsoft:

Microsoft Certified Partner - https://partner.microsoft.com/global/30000104

Microsoft-Sicherheitsempfehlung Services - http://support.microsoft.com/gp/advisoryservice

Weitere Informationen zu den Supportoptionen, die verfügbar sind und wie Sie Microsoft kontaktieren besuchen Sie in der folgenden Website: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Visual Basic-Beispielprozedur

Diese Funktion MakeArray kann alle zusammenhängenden Zellbereich als Argumente verwenden. Nicht angrenzende Bereiche sind durch Kommas getrennt.
Function MakeArray(ParamArray CellAddress()) As Variant   ' Declaration of function variables.   Dim Temp As Variant   Dim TheArray() As Variant   Dim Count As Integer, Ver as Integer   Dim W As Integer, X As Integer, Y As Integer, Z As Integer   ' Initialize the Count variable.   Count = 1   ' Set the variable Ver = 0 if the version of Microsoft Excel is   ' greater than 8 (8 is Microsoft Excel 97 for Windows).   If Left(Application.Version, Len(Application.Version) - 1) >= 8 Then      Ver = 0   Else      Ver = 1   End If   ' Set variable X from Ver to the total number of arguments in   ' the CellAddress array.   For X = Ver To UBound(CellAddress, 1)      ' Temp equals the first element of the CellAddress array.      Set Temp = CellAddress(X)      ' Test Temp to see whether it is an array.      If IsArray(Temp) Then         ' If Temp is an array, set Y from 1 to the total number         ' arguments in the Temp array's first dimension.         For Y = 1 To UBound(Temp.Value, 1)             ' If Temp is an array, set Z from 1 to the total number            ' arguments in the Temp array's second dimension.            For Z = 1 To UBound(Temp.Value, 2)               ' ReDimension TheArray, Preserving any existing               ' values, from 1 to Count.               ReDim Preserve TheArray(1 To Count)               ' TheArray, element Count equals Temp, element Y in the               ' first dimension by element Z in the second dimension.               TheArray(Count) = Temp(Y, Z).Value                ' Increment the Count variable by one.               Count = Count + 1            Next Z         Next Y      ' If Temp is not an array, proceed from here.      Else         ' ReDimension TheArray, preserving any existing         ' values, from 1 to Count.         ReDim Preserve TheArray(1 To Count)          ' TheArray element Count equals Temp.         TheArray(Count) = Temp         ' Increment the Count variable by one.         Count = Count + 1      ' End the block If statement.      End If   Next X   ' Return TheArray to our function MakeArray.   MakeArray = TheArrayEnd Function				

Verwenden die Beispiel-Prozedur

  1. Starten Sie eine neue Excel-Arbeitsmappe und geben Sie die folgenden Informationen in einem Arbeitsblatt:
          A1: 1   B1: 2     D1: 5      A2: 3   B2: 4     D2: 6					
  2. Drücken Sie [Alt]+[F11], um den Visual Basic-Editor zu starten
  3. Klicken Sie im Menü Einfügen auf Modul .
  4. Geben Sie den Visual Basic MakeArray Funktion Beispielcode auf, die (siehe oben) in das Modul.
  5. Zurück zu dem Arbeitsblatt (drücken Sie ALT + F11)
  6. Wählen Sie Zellen A4:F4 auf das Arbeitsblatt, geben Sie die folgende Formel in der Formel -Leiste
    =MakeArray(A1:B2,D1:D2)
    und drücken Sie STRG + UMSCHALT + Eingabe, um die Formel als Matrixformel einzugeben.
Das Ergebnis wird im folgende Beispiel aussehen:
   A4:1   B4:2   C4:3   D4:4   E4:5   F4:6 				
Informationsquellen
Weitere Informationen zur Verwendung des Beispielcodes aus diesem Artikel finden Sie in folgendem Artikel der Microsoft Knowledge Base:
212536OFF2000: Wie zum Ausführen von Beispielcode aus Knowledge Base-Artikel

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 213403 – Letzte Überarbeitung: 02/09/2014 21:01:33 – Revision: 3.5

Microsoft Excel 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbdtacode kbhowto kbprogramming KB213403 KbMtde
Feedback