Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Arrays

Arrays
23.02.2008 19:10:10
Hans
Hallo,
Ich habe folgendes Problem:
Zum einen habe ich ein Tabellenblatt in dem in den Zellen einer Spalte Text steht. Dieser Text soll nun nach bestimmten Schlagworten durchsucht werden und - je nach Schlagwort - ein Kenner in eine Nachbarzelle gespeichert werden. Dabei gehören immer 3-4 Schlagwörter zu einem Kenner.
Ich hatte nun vor alle Schlagwörter in einem Array abzulegen wobei die zusammengehörigen Schlagwörter immer ein einer Zeile stehen sollten.
Dann solle die Suche mit zwei Schleifen Zeile für Zeile und Schlagwort für Schlagwort den aus der Zelle ausgelesenen Text mit "like" vergleichen und je nach Zeile den entsprechenden Kenner in der Nachbarzelle ablegen.
Meine Frage ist nun wie ich das Array am einfachsten definiere (Syntax) bzw ob das so überhaubt möglich ist.
Danke
Hans

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arrays
23.02.2008 19:55:00
Josef
Hallo Hans,
meinst du so?
Tabelle1

 ABCDEFG
1TextKenner   SchlagwortKenner
2Die schwaze Katze1   Hund1
3Der große Hund1   Schwein2
4Das weiße Pferd2   Katze1
5Das dicke Schwein2   Pferd2
6       

Formeln der Tabelle
ZelleFormel
B2{=INDEX($G$2:$G$5;MAX((ISTZAHL(FINDEN($F$2:$F$5;A2)))*ZEILE($1:$4)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen
Excel Tabellen im Web darstellen  Excel Jeanie HTML

Gruß Sepp



Anzeige
AW: Arrays
24.02.2008 20:20:33
Hans
Vielen Dank für die schnelle Antwort!
ich muss das aber leider in VBA lösen, da die Zellen mit den zu durchsuchen Texten zuerst aus einer anderen Tabelle extrahiert werden.
Daher will ich die Schlagwörter in einem Array speichern.
Hans

AW: Arrays
24.02.2008 21:06:00
Josef
Hallo Hans,
dann so.
Sub Kenner()
Dim varMark(1 To 4, 1 To 2) As Variant, tmp As Variant
Dim lngR As Long, lngFirst As Long, lngLast As Long, n As Integer

varMark(1, 1) = "Hund" 'Schlagwort 1
varMark(1, 2) = 1 'Kenner 1
varMark(2, 1) = "Katze" 'Schlagwort 2
varMark(2, 2) = 2 'Kenner 2
varMark(3, 1) = "Schwein" 'usw.
varMark(3, 2) = 3
varMark(4, 1) = "Pferd"
varMark(4, 2) = 4

lngFirst = 2 'Este Zeile mit Text

lngLast = Application.Max(2, Cells(Rows.Count, 1).End(xlUp).Row)

tmp = Range(Cells(lngFirst, 1), Cells(lngLast, 2))

For lngR = lngFirst To lngLast
    For n = LBound(varMark, 1) To UBound(varMark, 1)
        If InStr(1, LCase(tmp(lngR - (lngFirst - 1), 1)), LCase(varMark(n, 1))) > 0 Then
            tmp(lngR - (lngFirst - 1), 2) = varMark(n, 2)
            Exit For
        End If
    Next
Next

Range(Cells(lngFirst, 1), Cells(lngLast, 2)) = tmp

End Sub

Dabei habe ich angenommen, das die Texte in Spalte "A" ab Zeile 2 stehen.

Gruß Sepp



Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige