Excel/VBA Zeichenfolge aus Zelle lesen

Hallo Leute,

ich möchte gerne eine größere Liste nach Werten/Zeichen durchsuchen und bei vorhandener Zeichenfolge, soll er einen aus einer andere Zelle zugehörigen Wert addieren.

Die Addition ist natürlich kein Problem, aber die Erkennung der Zeichen.

z.B. Suche alle Zellen, in den „Arbeiten“ enthalten ist:

Zelle 1: Ich war Essen
Zelle 2: Ich war Arbeiten
Zelle 3: Arbeiten bei Ralf

Sprich Zelle 2 und 3 müsste ich erkennen.

Habt ihr eine Idee?

Danke und viele Grüße!

W3lcome

Hallo,

=ZÄHLENWENN(A:A;"*arbeit*")

hier werden alle Zellen gezählt, die „arbeit“ enthalten. Kommt das Wort 2mal in einer Zelle vor, wird dies nur einmal gezählt.

VG René

Moin Silex,

danke für deine Antwort. Aber direkt ne Funktion in der VBA Welt gibt es nicht?

Sonst muss ich da ein wenig improvisieren :wink:

Schon mal danke!

Viele Grüße
W3lcome

Hallo W3lcome,

such mal in der VBA-Hilfe nach Instr.

Gruß, Andreas

ich möchte gerne eine größere Liste nach Werten/Zeichen
durchsuchen und bei vorhandener Zeichenfolge, soll er einen
aus einer andere Zelle zugehörigen Wert addieren.
z.B. Suche alle Zellen, in den „Arbeiten“ enthalten ist:

Zelle 1: Ich war Essen
Zelle 2: Ich war Arbeiten
Zelle 3: Arbeiten bei Ralf
Sprich Zelle 2 und 3 müsste ich erkennen.

Moin W3lcome,

mit Hilfsspalte in D:

Tabellenblatt: [Mappe1]!Tabelle1
 │ A │ B │ C │ D │
──┼───────────────────┼───┼────┼───┤
1 │ Ich war Essen │ 5 │ 13 │ 0 │
──┼───────────────────┼───┼────┼───┤
2 │ Ich war Arbeiten │ 6 │ │ 1 │
──┼───────────────────┼───┼────┼───┤
3 │ Arbeiten bei Ralf │ 7 │ │ 1 │
──┴───────────────────┴───┴────┴───┘
Benutzte Formeln:
C1: =SUMMENPRODUKT((D1:smiley:3=1)\*(B1:B3))
D1: =ISTZAHL(FINDEN("Arbeit";A1))\*1
D2: =ISTZAHL(FINDEN("Arbeit";A2))\*1
D3: =ISTZAHL(FINDEN("Arbeit";A3))\*1

A1:smiley:3
haben das Zahlenformat: Standard

Tabellendarstellung erreicht mit dem Code in FAQ:2363

Gruß
Reinhard

Hallo W3lcome

Wenn wir von folgenden Vorausssetzungen ausgehen:

  1. Die zu durchsuchenden Texte sind immer in Spalte A.

  2. Die zu addierenden Zahlen sind immer in Spalte B.

  3. Bei der 1. leeren Zelle in Spalte A hören wir auf.
    Dann ist das z. B. mit folgendem VBA-Code möglich:

    Dim z As Integer, Summe As Integer

    z = 1
    Summe = 0

    Do While Cells(z, 1) „“
    If InStr(1, Cells(z, 1), „Arbeiten“) > 0 Then
    Summe = Summe + Cells(z, 2)
    End If
    z = z + 1
    Loop

    MsgBox Summe

Falls das Ganze auch noch case-insenitiv funktionieren soll, dann muss die If-Bedingungen folgendermaßen lauten:
If InStr(1, LCase(Cells(z, 1)), „arbeiten“) > 0

Schöne Grüße
Roland

ich möchte gerne eine größere Liste nach Werten/Zeichen
durchsuchen und bei vorhandener Zeichenfolge, soll er einen
aus einer andere Zelle zugehörigen Wert addieren.

Die Addition ist natürlich kein Problem, aber die Erkennung
der Zeichen.

z.B. Suche alle Zellen, in den „Arbeiten“ enthalten ist:

Zelle 1: Ich war Essen
Zelle 2: Ich war Arbeiten
Zelle 3: Arbeiten bei Ralf

Sprich Zelle 2 und 3 müsste ich erkennen.