Zeichenfolge in String überprüfen

Bild

Betrifft: Zeichenfolge in String überprüfen
von: Markus
Geschrieben am: 25.11.2003 14:38:57

Hallo allerseits,

ich habe folgendes Problem:

Eine Summenformel (z.B. C23H12FN3O4) soll dahingehend überprüft werden, ob
ein Element nur einmal vertreten ist (in diesem Fall ist dies F; folgt nach dem Element keine Zahl, dann wird vorrausgesetzt, daß das Element nur einmal vertreten ist). Die Summenformel soll nun folgendermaßen korrigiert werden:

Vorher: C23H12FN3O4 Nachher: C23H12F1N3O4

Wer hat für dieses Problem evtl. eine Lösung.

Im voraus danke.

Gruß

Markus

Bild


Betrifft: AW: Zeichenfolge in String überprüfen
von: IngoG
Geschrieben am: 25.11.2003 15:13:15

Hallo Markus,

das problem ist immer noch, dass ein Element nicht nur aus einem Buchstaben bestehen muß... (siehe meine Antwort in Deinem früheren Beitrag)

Meine Lösung sah vor, dass zB Hg mit kleinem 2. Buchstaben geschrieben sein muß.
ansonsten mußt Du erstmal prüfen, ob es ein Element FN gibt (da excel in Chemie eher etwas schwächelt ;-))...

Du kannst Dich ja nochmal melden

Gruß Ingo




Bild


Betrifft: AW: Zeichenfolge in String überprüfen
von: Markus
Geschrieben am: 25.11.2003 15:26:32

Hallo Ingo,

das Problem stellt sich in meinem Fall nicht, da solche Elemente entsprechend
Deiner Anregung geschrieben werden (es funktioniert mit Deiner ersten Lösung ohne
Probleme). Die für mich relevanten Elemente und ihre Schreibweise hab ich hier mal
aufgeführt: C, H, N, O, S, P, F, Cl, Br, J.
Schwebt Dir für diesen speziellen Fall schon etwas vor ?

Gruß

Markus


Bild


Betrifft: AW: Zeichenfolge in String überprüfen
von: IngoG
Geschrieben am: 25.11.2003 15:30:59

Hallo Markus,

wenn Du mit meiner Lösung ;-) arbeitest könntest Du pragmatisch vorgehen:

Du verkettest einfach die ausgabefelder miteinander:

=b2&d2&f2&h2&j2&... ergänzen um deine maximale Breite

wenn Dir das nicht weiterhilft, melde Dich einfach nochmal


Bild


Betrifft: AW: Zeichenfolge in String überprüfen
von: Markus
Geschrieben am: 25.11.2003 15:36:54

Hallo Ingo,

irgendwie stehe ich auf dem Schlauch. Ich sehe noch nicht, wie ich durch verketten der
Ausgabefelder meine Summenformel wie in meiner heutigen Anfrage beschrieben modifizieren kann. Brauche hier noch etwas mehr Input.

Gruß

Markus


Bild


Betrifft: AW: Zeichenfolge in String überprüfen
von: IngoG
Geschrieben am: 25.11.2003 15:42:42

Hallo Markus,

schau dir mal den anhang an;
in spalte ad steht der neue string mit 1'en

https://www.herber.de/bbs/user/2153.xls

Theoretisch kannst Du nun diesen String mit einfügen werte wieder in deine ausgangstabelle kopieren.

Ich hoffe, das hift Dir weiter...

Gruß Ingo


Bild


Betrifft: AW: Zeichenfolge in String überprüfen
von: Markus
Geschrieben am: 25.11.2003 16:02:10

Hallo Ingo,

hab mir das Tabellenblatt angeschaut und versucht das in meinem Arbeitsblatt umzusetzen.
Bei mir schaut der neue String genauso aus wie der Originalstring. Wenn Elemente nur
einmal vertreten sind (ohne Angabe 1), dann kommt das Ganze ins schleudern (die Anzahl
der Elemente stimmt dann nicht mehr; also z.B. HgCl wird nicht in Hg1Cl1 umgewandelt). Was mach ich da falsch ?

Gruß

Markus


Bild


Betrifft: AW: Zeichenfolge in String überprüfen
von: IngoG
Geschrieben am: 25.11.2003 16:31:48

Hallo Markus,
leider habe ich keine abgespeicherte Version mehr, von der Verbesserten Funktion (siehe alter Beitrag) in dem die 1'en untergebracht waren. :-(

wenn Du einfach nochmal deine Version hochlädst kann ich sie aber bestimmt nocheinaml erzeugen

Gruß Ingo


Bild


Betrifft: AW: Zeichenfolge in String überprüfen
von: Markus
Geschrieben am: 25.11.2003 16:38:33

Hallo Ingo,

ich hab mein Tabellenblatt mal auf den Server hochgeladen.
https://www.herber.de/bbs/user/2155.xls

Gruß

Markus


Bild


Betrifft: AW: Zeichenfolge in String überprüfen
von: IngoG
Geschrieben am: 25.11.2003 17:19:33

Hallo Markus,

ist zwar nicht die originallösung, funzt aber:

https://www.herber.de/bbs/user/2156.xls

Gruß Ingo


Bild


Betrifft: AW: Zeichenfolge in String überprüfen
von: Markus
Geschrieben am: 26.11.2003 07:54:27

Hallo Ingo,

es läuft - super !
Nochmals vielen Dank.

Gruß

Markus


Bild


Betrifft: danke für die Rückmeldung oT
von: IngoG
Geschrieben am: 26.11.2003 09:38:55

.


Bild


Betrifft: AW: Zeichenfolge in String überprüfen
von: Reinhard
Geschrieben am: 25.11.2003 16:53:16

Hallo Markus,
nimm das folgende Makro. Es erwartet die Eingabe der Formeln in Spalte C. Das kannst du anpassen durch Ändern der Zeile:
If Target.Column <> 3 Or Merker = True Then Exit Sub
Die 3 steht für C, 1=A, 2=B, usw
Gruß
Reinhard


Dim Merker As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 3 Or Merker = True Then Exit Sub 'Exit sub wenn nicht Spalte C
Dim Elemente()
Länge = Len(Target.Value)
ReDim Elemente(Länge)
For n = 1 To Länge 'n geht die Formelzeichen durch
    If Not IsNumeric(Mid(Target.Value, n, 1)) Then 'Wenn keine zahl, also ein Buchstabe 
        Elemente(n) = Mid(Target.Value, n, 1)
        If Elemente(n) = "B" Then 'Korrektur für Br
            Elemente(n) = "Br"
            n = n + 1
        End If
        m = n + 1
        While m <= Länge And IsNumeric(Mid(Target.Value, m, 1)) 'sucht die Zahlen nach den Buchstaben
            Elemente(n) = Elemente(n) & Mid(Target.Value, m, 1)
            m = m + 1
        Wend
    End If
Next n
Merker = True 'Merker dient dazu eine Endlosschleife zu vermeiden
Target = ""
For n = 1 To Länge
    If Elemente(n) <> "" And Not IsNumeric(Right(Elemente(n), 1)) Then
        Elemente(n) = Elemente(n) & "1" ' Wenn Eölement keine zahl hat, 1 anhänegen
    End If
    Target = Target & Elemente(n)
Next n
Merker = False
End Sub



Bild

Beiträge aus den Excel-Beispielen zum Thema " Zeichenfolge in String überprüfen"