Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1592to1596
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

KW Zahl aus Motorbezeichnung auslesen

KW Zahl aus Motorbezeichnung auslesen
28.11.2017 12:25:12
Dominik
Guten Tag, ich möchte gerne aus einer Zelle, welchen den Inhalt ählich diesem hat: "2,0l TDI CR R4 110KW" die KW-Zahl auslesen und in eine andere Zelle einfügen lassen. Bisher habe ich es noch nicht geschafft diesen Inhalt in der Zelle zu identifizieren, geschweige denn ihn zu extrahieren.
Dies:
If InStr(Worksheets(2).Cells(i + 1, 4).Value, "### [kK][wW]") Then
War bisher mein Versuch die Form des Ausdrucks festzustellen um ihn dann mit hilfe von right$(...) herauszukopieren.
Die Angaben haben leider die sehr uneinheitliche form
[2-3 Ziffern][Leerzeichen oder kein Leerzeichen][kW oder KW oder kw]
stehen aber immer am ende des Zelleninhalts.
Wenn jemand das Problem nachvollziehen und mir helfen kann, würde mich das sehr freuen.
lg Dominik

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: RegEx
28.11.2017 12:31:47
Phi
@Dominik:
mit RegEx und
.Pattern = "\d{2,3}KW"
sollte es gehen.
AW: RegEx
28.11.2017 15:00:48
Dominik
Hat mir schonmal weitergeholfen. Ich tüftel dann mal weiter am Rest des Problems. Vielen Dank
AW: KW Zahl aus Motorbezeichnung auslesen
28.11.2017 15:43:12
Daniel
Hi
1. das "kw" entfernen mit wechseln/replace
Groß/Kleinschreibung ist hier egal.
2. mit glätten/trim ggf. vorhandenes Leerzeichen am Ende entfernen.
3. mti recht/right die letzten drei Zeichen nehmen
4. mit glätten/trim das ggf. vorhandene Leerzeichen am Anfang entfernen.
Gruß Daniel
AW: KW Zahl aus Motorbezeichnung auslesen
28.11.2017 15:57:16
Zwenn
Hallo Dominik,
ich würde es so machen, wenn alle Deine Zeichenketten mit Leerzeichen aufgebaut sind. Statt zuUntersuchenderString kannst Du natürlich eine Zelle angeben. LCase sorgt dafür, dass die betrachtete Zeichenkette nur Kleinbuchstaben enthält. Du kannst es auch mit UCase für Großbuchstaben machen. Dann musst Du den zu suchenden Teil der Zeichenkette halt als Großbuchstaben hinterlegen, "KW".

Sub ExtrahiereKWWert()
Dim zuUntersuchenderString As String
Dim splitArray() As String
Dim i As Long
zuUntersuchenderString = "2,0l TDI CR R4 110KW"
splitArray = Split(zuUntersuchenderString, " ")
For i = 0 To UBound(splitArray)
If InStr(1, LCase(splitArray(i)), "kw") > 0 Then
MsgBox splitArray(i)
Exit For
End If
Next i
End Sub
Viele Grüße,
Zwenn
Anzeige
AW: KW Zahl aus Motorbezeichnung auslesen
28.11.2017 16:01:04
Zwenn
Sehe grade, dass KW auch mit Leerzeichen abgetrennt sein kann. Dann ist Daniels Vorschlag am einfachsten umzusetzen denke ich.
Geht aber einfacher mit UDFs für beide Fälle:
29.11.2017 04:49:04
Luc:-?
=INDEX(VSplit(A1225);VERGLEICH("*KW";VSplit(A1225);)-Rmd(SUMMENPRODUKT(--(VSplit(A1225)="KW")))) &WAHL(Rmd()+1;"";"KW")
VSplit (Vs1.1): https://www.herber.de/bbs/user/99024.xlsm (UDF-Pgm in BspDatei)
Rmd (Vs1.1): https://www.herber.de/forum/archiv/1592to1596/t1592543.htm#1592585
Feedback nicht unerwünscht! Morrn, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
AW: Geht aber einfacher mit UDFs für beide Fälle:
29.11.2017 13:19:05
Daniel
das wären die excelformel ohne UDFs:
=glätten(rechts(glätten(wechseln(A1;"kw";""));3))
ggf auch so, wenn die KW-Zahl nicht nur 2-3, sondern auch 1-4-stellig sein kann:
=glätten(rechts(wechseln(glätten(wechseln(A1;"kw";""));" ";"     ");4))
ist wirklich komplizierter als mit UDFs?
Gruß Daniel
Allerdings hättest du KW schreiben sollen, ...
29.11.2017 21:31:07
Luc:-?
…Daniel;
die richtige ME-Bezeichnung wäre aber kW, mag in der Praxis aber anders aussehen. Deine Fmln setzen aber voraus, dass diese Angabe immer Endstellung hat, meine nicht. Das ist aber aus nur einem Bsp nicht oW ersichtlich, es sei denn, das wäre inter­natio­nale Norm!
Gruß, Luc :-?
Anzeige
AW: Allerdings hättest du KW schreiben sollen, ...
29.11.2017 22:08:23
Zwenn
Hallo zusammen,
dass die KW Angabe immer ganz hinten steht hatte Dominik im Ausgangsposting angegeben. Aber ich hatte ja selber überlesen, dass KW auch mit Leerzeichen abgetrennt sein kann ;-)
Dass der richtige SI-Präfix für Kilo das kleine k ist, ist schon richtig Luc. Aber wie Du selber schreibst, gibt es signifikante Unterschiede zwischen Theorie und Praxis. Also verlassen würde ich mich auf die Anwendung solcher Normen nie. Deshalb hatte ich in meinem (mangelhaften) Vorschlag ausgeführt, die Zeichenkette entweder komplett in Klein- oder in Großbuchstaben umzuwandeln und dann nur gegen einen entsprechenden String zu prüfen.
Mit UDF habe ich mich bisher nicht beschäftigt, habe aber schon mitbekommen, dass da einiges an Potential drinsteckt. Ich bin aber auch immer wieder fasziniert, was man mit den "Standardformeln" so anstellen kann :-)
Viele Grüße,
Zwenn
Anzeige
Danke! Das m.d.Endstellung war mir entfallen, ...
30.11.2017 02:41:01
Luc:-?
…Zwenn;
unter dieser Bedingung wären aber bspw auch ff Fmln möglich …
• ohne UDF: =GLÄTTEN(TEIL(A1;SUCHEN(" ";A1;LÄNGE(WECHSELN(A1;" KW";"KW"))-6);9))
• mit UDFs: =PickOn(A1226;CountOn(A1226;" ")-CountOn(A1226;" KW")+{1.2})
Gruß, Luc :-?
Anzeige
oder der Fragesteller gibt in seiner Problem-
29.11.2017 23:09:46
Daniel
beschreibung explizit an, dass es immer so ist.
Dann dann kann man auch davon ausgehen, dass es so ist.
Gruß Daniel

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige