Thema Datum  Von Nutzer Rating
Antwort
Rot bestimmte Zeichenfolge aus Mat-Beschreibung wiedergeben
23.02.2022 11:51:19 Gast123
NotSolved
23.02.2022 13:15:09 Mase
NotSolved
23.02.2022 14:31:37 Gast123
NotSolved
23.02.2022 14:55:45 Gast8132
NotSolved
23.02.2022 15:45:17 Mase
NotSolved
23.02.2022 15:46:30 Links
NotSolved

Ansicht des Beitrags:
Von:
Gast123
Datum:
23.02.2022 11:51:19
Views:
631
Rating: Antwort:
  Ja
Thema:
bestimmte Zeichenfolge aus Mat-Beschreibung wiedergeben

Hallo zusammen,

Erstmal vorweg, ich bin totaler VBA Anfänger also habt Gnade ;)

Ich hoffe ihr könnt mir bei folgendem Problem helfen: In meiner Abteilung pflegen wir eine Stammdaten Datei in der wir neue Mat-Nr aus SAP aufnehmen und bestimmte Parameter/Informationen pflegen. Viele dieser Infos leiten sich direkt aus dem Mat-Nr bzw. Mat-Namen ab.

ein typischer Mat-Name sieht z.B wie folgt aus

Produktname Stärke Darreichungsform (AnzahlBlister)x(Anzahl Tabletten) Verpackung Land

z.B 

"Aspirin 5mg Tab 3x10 BLS DE"

Mein Makro soll jetzt aus dieser Mat-Beschreibung die verschiedenen Informationen auslesen und damit die einzelnen Spalten der Stammdaten-Datei füllen.

z.B

Land = DE, Stärke = 5mg 

Klappt auch größtenteils gut, jedoch habe ich Probleme bei der "(AnzahlBlister)x(Anzahl Tabletten)", hier soll das Makro quasi einmal die Zahl links vom x und einmal rechts vom x finden.

Meine Formelt dafür lautet:

      Cells(i, 16).FormulaR1C1 = "=MID(RC2,SEARCH(""#"",SUBSTITUTE(RC2,"" "",""#"",3))+1,SEARCH(""#"",SUBSTITUTE(RC2,"" "",""#"",4))-      SEARCH(""#"",SUBSTITUTE(RC2,"" "",""#"",3))-1)"
        Cells(i, 16).Value = Cells(i, 16).Value
        
       Then Cells(i, 17).FormulaR1C1 = "=TRIM(LEFT(RC[-1],SEARCH(""x"",RC[-1])-1))"
        Cells(i, 17).Value = Cells(i, 17).Value
        
        Then Cells(i, 18).FormulaR1C1 = "=RIGHT(RC[-2],(LEN(RC[-2])-SEARCH(""x"",RC[-2])))"
        Cells(i, 18).Value = Cells(i, 18).Value

Ich suche quasi nach dem Text-Baustein nach dem 3ten Leerzeichen von Links ("3x10" im obigen Beispiel) und gebe dann in Zelle(i, 17) die Zahl links vom x und in Zelle (i, 18) rechts vom x wieder.

Das passt soweit auch für ein Großtei der Mat-Nummern. Leider gibt es aber auch Mat-Nr die nicht der Standard Nomenklatur folgen.

z.B lautet der Name dann 

"Aspirin XL 5mg Tab 3x10 BLS DE"

Durch das zusätzliche XL habe ich ein extra Leerzeichen im Namen und meine Formel funktioniert nicht mehr. Es kann auch genauso gut sein dass am rechten Ende des Namens irdendetwas anders ist, so dass ein Zählen der Freizeichen von rechts auch nicht helfen würde.

Habt ihr einen Vorschlag wie man das Problem lösen kann? Gibt es irgendeine Funktion mit der vba den Baustein (AnzahlBlister)x(Anzahl Tabletten) verlässtlich findet? Leider kann dieser ziemlich unterschiedlich aussehen:

3x10

1x100

1x10/4x10

1x1

etc.

Vielen Dank für eure Hilfe im Voraus.

Grüße

 

 

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot bestimmte Zeichenfolge aus Mat-Beschreibung wiedergeben
23.02.2022 11:51:19 Gast123
NotSolved
23.02.2022 13:15:09 Mase
NotSolved
23.02.2022 14:31:37 Gast123
NotSolved
23.02.2022 14:55:45 Gast8132
NotSolved
23.02.2022 15:45:17 Mase
NotSolved
23.02.2022 15:46:30 Links
NotSolved