Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
340to344
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
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeichenfolge in String überprüfen

Zeichenfolge in String überprüfen
25.11.2003 14:38:57
Markus
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

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichenfolge in String überprüfen
25.11.2003 15:13:15
IngoG
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


AW: Zeichenfolge in String überprüfen
25.11.2003 15:26:32
Markus
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
Anzeige
AW: Zeichenfolge in String überprüfen
25.11.2003 15:30:59
IngoG
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
AW: Zeichenfolge in String überprüfen
25.11.2003 15:36:54
Markus
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
AW: Zeichenfolge in String überprüfen
25.11.2003 15:42:42
IngoG
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
Anzeige
AW: Zeichenfolge in String überprüfen
25.11.2003 16:02:10
Markus
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
AW: Zeichenfolge in String überprüfen
25.11.2003 16:31:48
IngoG
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
Anzeige
AW: Zeichenfolge in String überprüfen
26.11.2003 07:54:27
Markus
Hallo Ingo,

es läuft - super !
Nochmals vielen Dank.

Gruß

Markus
danke für die Rückmeldung oT
26.11.2003 09:38:55
IngoG
.
AW: Zeichenfolge in String überprüfen
25.11.2003 16:53:16
Reinhard
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

Anzeige

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige