Anzeige
Archiv - Navigation
1752to1756
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
Inhaltsverzeichnis

Array richtig ausgeben.

Array richtig ausgeben.
16.04.2020 16:19:48
bozan
Hallo zusammen,
ich habe folgenden Code zum Durchsuchen einer Zelle nach einem Text geschrieben:

Sub przs()
Dim varBegrArr() As Variant
ReDim varBegrArr(1)
varBegrArr(0) = "80-T*"
varBegrArr(1) = "AIPS*"
Dim c As Range
Dim firstAddress As String
With Sheets("Sheet1").Range("F1:F1155")
Set c = .Find(varBegrArr(0), LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Cells(c.Row, 7) = varBegrArr()
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With
End Sub

Mit dem aktuellen Code wird nur das Suchwort "80-T*" ausgegeben. Das gesuchte Wort fängt allerdings nur mit "80-T" an und soll dann aber komplett ausgegeben werden. Der Code funktioniert in so fern, dass bei einem Treffer das Suchwort in der Spalte daneben ausgegeben wird, nicht aber der eigentliche Treffer.
Ich hoffe ich konnte das einigermaßen gut erklären. Danke vorab für eure Hilfe!

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array richtig ausgeben.
16.04.2020 16:59:58
Daniel
Hi
Verwende Lookat:=xlWhole
Mit Lookat:=xlPart suchst du immer mit "enthält", ob mit oder ohne Jokerzeichen.
Gruß Daniel
AW: Array richtig ausgeben.
17.04.2020 12:45:26
bozan7
Hey,
danke für die Antwort. Leider hat das mein Problem nicht gelöst.
In den Zellen ist halt jeweils ein riesiger Text. Wenn etwas, was mit 80-T oder AIPS beginnt gefunden wird, soll das gesamte Wort ausgegeben werden. Des Weiteren sind mehrerer Treffer auch möglich.. sollen bestenfalls mit ausgegeben werden.
Vielen Dank vorab.
AW: Array richtig ausgeben.
18.04.2020 09:42:49
Daniel

Cells(c.Row, 7) = c
Gruß Daniel
AW: Array richtig ausgeben.
20.04.2020 16:20:19
bozan
Hi!
Vielen Dank für eure Antworten.
Leider ist mein Problem noch immer nicht gelöst. Habe die beiden Möglichkeiten ausprobiert. Das Problem ist, dass noch immer der gesamte Text ausgegeben wird und nicht nur das gesuchte Wort.
Ich hoffe einer von euch hat die richtige Idee! :D
Anzeige
AW: Array richtig ausgeben.
20.04.2020 16:35:05
Daniel
Also nur damit ich das richtig verstehe:
Du suchst nach beginnt mit "80-T"
Wenn dann eine Zelle vorhanden ist, die den Satz " 80-Txxx Yyyy Zzzz" enthält, dann möchtest du "80-Txxx" als Ergebnis haben, richtig?
Falls nein, bitte erläuterte dein Problem genauer und lade eine Beispieldatei hoch, die Beispieldatei, fehlerhaften Code und das von Hand erzeugte Wunschergebnis enthält.
Gruß Daniel
AW: Array richtig ausgeben.
22.04.2020 10:42:54
bozan7
Genau!
In der Zeile die durchsucht wird ist jeweils ein Text mit „ bla bla bla 80-T-xxx bla bla“. Ist ein riesen Text und zwar in jeder Zeile . Das 80-T- sollte dann in der Spalte rechts daneben als Ganzes ausgegeben werden und zwar nur dieses Wort und nicht der gesamte Text, so ist es nämlich aktuell.
Hoffe das ist verständlich!
Anzeige
AW: Array richtig ausgeben.
22.04.2020 11:29:12
Daniel
Hi
in dem Fall würde ich die Suche in etwa so programmieren:
dh kein .FIND sondern mit ner Schleife durch die Zellen laufen, schauen ob der Suchbegriff im Zelltext enthalten ist und dann den Zelltext beim Suchtext und beim ersten Leerzeichen nach dem Suchtext abschneiden:
for each c in range("F1:F1155")
if c.value like "*" & varBegrArr(0) & "*" then
txt = c.value
txt = mid(txt, Instr(txt, varBegrArr(0))
txt = left(txt, Instr(txt & " ", " ") - 1)
c.Offset(0, 7 - c.column).value = txt
end if
Next
Gruß Daniel
AW: Array richtig ausgeben.
27.04.2020 13:24:04
bozan7
Hallo Daniel,
zunächst einmal vielen Dank für den Code.
Leider wird mir in der 4 Zeile (txt = mid....) ein Fehler ausgegeben und der Code läuft nicht durch.
Hoffe Du kannst mir weiterhelfen!
Anzeige
AW: Array richtig ausgeben.
27.04.2020 13:53:10
Daniel
Hi
Da hast du ne Klammer am Ende vergessen:
Du hast drei Klammern "auf" also brauchst du auch drei Klammern "zu".
Gruß Daniel
AW: Array richtig ausgeben.
17.04.2020 22:49:42
onur
Versuche
Cells(c.Row, 7) = c.Text

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige