Freigeben über

Sverweisplus VBA Andreas Killer

Anonym
2019-10-12T18:58:46+00:00

Hallo zusammen,

wenn ich diese Function+Sub in Excel anwende kommt folgende Fehlermeldung:

Fehler beim kompilieren - Sub oder Function nicht definiert. FindAll ist blau markiert, und

Function sverweisplus(vSuchen As Variant, vArea As Range, vSpalte As Long, _

    Optional vSeparator As Variant)

ist gelb markiert.

Warum :(?

Danke im voraus!

Function sverweisplus(vSuchen As Variant, vArea As Range, vSpalte As Long, _

Optional vSeparator As Variant)

  Dim All As Range, R As Range

  Dim Data

  Dim i As Long, k As Long

  Set All = FindAll(vArea.Columns(1), vSuchen, SearchFormat:=True)

  If All Is Nothing Then

    sverweisplus = CVErr(xlErrNA)

  Else

    'Leeres Array erzeugen => Data(0 to -1)

    Data = Array()

    For Each R In All

      Set R = Intersect(vArea.Columns(vSpalte), R.EntireRow)

      'Um eins größer machen

      ReDim Preserve Data(0 To UBound(Data) + 1)

      'Am Ende den Wert speichern

      Data(UBound(Data)) = R.Value

    Next

    'Sortieren

    InsertionSort_Prim Data

    'Doppelte Werte entfernen

    For i = 1 To UBound(Data)

      If Data(i) <> Data(i - 1) Then

        k = k + 1

        If i > k Then Data(k) = Data(i)

      End If

    Next

    ReDim Preserve Data(0 To k)

    'Als String zurückgeben

    sverweisplus = Join(Data, vSeparator)

  End If

End Function

Sub InsertionSort_Prim(ByRef Liste)

  Dim i As Long, j As Long, Temp

  For i = LBound(Liste) + 1 To UBound(Liste)

    Temp = Liste(i)

    For j = i - 1 To LBound(Liste) Step -1

      If Liste(j) <= Temp Then Exit For

      Liste(j + 1) = Liste(j)

    Next

    Liste(j + 1) = Temp

  Next

End Sub

Microsoft 365 und Office | Excel | Für Zuhause | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare

2 Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2019-10-13T11:55:00+00:00

    ja stimmt :_)

    danke!!

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  2. Andreas Killer 144.1K Zuverlässigkeitspunkte Freiwilliger Moderator
    2019-10-13T05:06:29+00:00

    Weil Du vergessen hast die FindAll function auch zu kopieren. Ich denke mal die wird auch in dem anderen Thread zu finden sein!?

    Wenn nicht nochmal melden.

    Andreas.

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare