Thema Datum  Von Nutzer Rating
Antwort
23.02.2022 11:51:19 Gast123
NotSolved
Blau Hab Dir was, aber ob es Dir gefallen wird...
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:
Mase
Datum:
23.02.2022 13:15:09
Views:
428
Rating: Antwort:
  Ja
Thema:
Hab Dir was, aber ob es Dir gefallen wird...

Benutzerdefinierte Funktion mit Reguläre Ausdrücken



Schreibe in A1:  Aspirin XL 5mg Tab 3x10 BLS DE

Schreibe in A2:  =getDescription(A1;1)


 

Folgender Code in ein allg. Modul:

Option Explicit

'*** folgende Aufzählung willkürlich gewählt
Public Enum enmArt
    Bezeichnung1
    Milligramm
    Bezeichnung2
    Tablettenform
    Bezeichnung3
End Enum

Function getDescription(ByRef rng As Excel.Range, Optional Art As enmArt) As String

    Dim o As Object
    
    Select Case Art
    
        Case Is = enmArt.Bezeichnung1
            '// Regulärer Ausdruck
        
        Case Is = enmArt.Milligramm
            '// Regulärer Ausdruck
            With CreateObject("VBScript.RegExp")
                .Pattern = "[0-9]{1,4}mg"
                If (.Test(rng.Value)) = True Then Set o = .Execute(rng.Value)
                getDescription = o(0).Value
            End With
        
        Case Is = enmArt.Bezeichnung2
            '// Regulärer Ausdruck
        
        Case Is = enmArt.Tablettenform
            '// Regulärer Ausdruck
        
        Case Is = enmArt.Bezeichnung3
            '// Regulärer Ausdruck
            
    End Select
    
    
End Function

 

Hinweis:

Fehlerbehandlung müsstest noch berücksichtigen.

Beispielsweise wenn 2x Angaben über mg existieren. (Stichwort: Variable o as Matchcollection)

 


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
23.02.2022 11:51:19 Gast123
NotSolved
Blau Hab Dir was, aber ob es Dir gefallen wird...
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