Suche nach bestimmten Wert und gib dazu alle gefunden Werte aus

  • Excel

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Suche nach bestimmten Wert und gib dazu alle gefunden Werte aus

    Morgen,
    brauch mal eure Hilfe.
    Würde gerne mit einem Makro folgendes machen:
    Es soll ein bestimmter Wert in einer Spalte gesucht werden und wenn der Wert in einer anderen Spalte unterschiedliche ist, sollen alle unterschiedlichen Werte in eine Zeile geschrieben werden.

    Sprich im Blatt month bekomme ich den Name der dann in Blatt LIB steht und alle eingräte gesucht werden sollen. Ausgegeben werden sollen die Werke als Spalte C (alle Zahlen wenn unterschiedlich) und schreibe diese dann in Blatt month in ein bestimmtes Feld.
    Dateien
    • test.xls

      (3,36 MB, 78 mal heruntergeladen, zuletzt: )
    So als Anfang.

    Visual Basic-Quellcode

    1. Sub FindAndExecute()
    2. Dim foundCell As Range
    3. Dim myCol As New Collection
    4. Dim firstAddress As String
    5. Dim SearchString As String
    6. SearchString = "Kömmerling Chemische Fabrik GmbH"
    7. 'Suchen in Spalte B
    8. With Worksheets("LIB 08").UsedRange.Columns("B")
    9. Set foundCell = .Find(What:=SearchString)
    10. If Not foundCell Is Nothing Then
    11. firstAddress = foundCell.Address
    12. Do
    13. 'Werk zu Collection hinzufügen, falls nicht vorhanden
    14. On Error Resume Next
    15. myCol.Add foundCell.Offset(0, 1).Value, CStr(foundCell.Offset(0, 1).Value)
    16. On Error GoTo 0
    17. Set foundCell = .FindNext(foundCell)
    18. Loop While Not foundCell Is Nothing And foundCell.Address <> firstAddress
    19. End If
    20. End With
    21. Set foundCell = Nothing
    22. Dim result As Variant
    23. Dim cnt As Long
    24. ReDim result(myCol.Count - 1)
    25. For cnt = 0 To myCol.Count - 1
    26. result(cnt) = myCol(cnt + 1)
    27. Next cnt
    28. Dim Ausgabe As String
    29. Ausgabe = Join(result, ", ")
    30. MsgBox Ausgabe
    31. End Sub
    nicht ganz das richtig, brauch die Ausgabe in einer Zelle.
    Mir würde auch schon ein Makro reichen, das genau das macht, was ich in dieser Formel beschrieben habe so lange in der Saplte A ein Wert also größer Null ist:
    =WENN(B11>" ";WENN('LIB 09'!A11='LIB 09'!A12;H11;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A13;H12;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A14;H13;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A15;H14;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A16;H15;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A17;H16;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A18;H17;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A19;H18;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A20;H19;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A21;H20;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A22;H21;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A23;H22;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A24;H23;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A25;H24;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A26;H25;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A27;H26;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A28;H27;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A29;H28;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A30;H29;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A31;H30;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A32;H31;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A33;H32;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A34;H33;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A35;H34;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A36;H35;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A37;H36;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A38;H37;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A39;H38;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A40;H39;" ");" ")

    Danke schon mal für eure Hilfe
    Vielleicht könnte jemand helfen, aber vermutlich hat keiner Lust so eine Formel auseinander zu nehmen, ohne Kenntnis der dazugehörigen Daten und einer belastbaren verbalen Aufgabenstellung.
    Ich gehe sogar davon aus, dass die Formel, so wie du sie veröffentlichst, syntaktisch falsch ist.

    cduenser schrieb:

    =WENN(B11>" ";WENN('LIB 09'!A11='LIB 09'!A12;H11;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A13;H12;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A14;H13;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A15;H14;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A16;H15;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A17;H16;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A18;H17;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A19;H18;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A20;H19;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A21;H20;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A22;H21;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A23;H22;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A24;H23;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A25;H24;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A26;H25;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A27;H26;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A28;H27;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A29;H28;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A30;H29;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A31;H30;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A32;H31;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A33;H32;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A34;H33;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A35;H34;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A36;H35;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A37;H36;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A38;H37;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A39;H38;" ")&" "&WENN('LIB 09'!A11='LIB 09'!A40;H39;" ");" ")
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --