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

Satzmachine

Satzmachine
08.02.2006 18:09:41
H.
Wie kann ich aus einem String Sätze extrahieren?
Also einen Satz suchen und dann für jeden Fund eine Function aufrufen die diesen Satz dann als Parameter erhaelt?
Dabei hat der Satz verschiedene Satzzeichen.
(Fragezeichen, Ausrufezeichen, Punkt)
Wie ist dies möglich
mit freundlichem Gruß
Hans Maier

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Satzmachine
08.02.2006 18:20:46
Reinhard
Hi Hans,

Option Explicit
Sub satz()
Dim absatz As String, satz(), n As Long, anz As Long, s As String
absatz = Range("A1")
For n = 1 To Len(absatz)
Select Case Mid(absatz, n, 1)
Case ".", "?", "!"
s = s & Mid(absatz, n, 1)
anz = anz + 1
ReDim Preserve satz(anz)
satz(anz) = s
Case Else
s = s & Mid(absatz, n, 1)
End Select
Next n
For n = 1 To anz
MsgBox doppel(satz(n))
Next n
End Sub
Function doppel(satz) As String
doppel = satz & satz
End Function
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
Fast.
08.02.2006 18:34:34
Maier
Bitte noch eine Function daraus machen :D
Eine mit dem parameter des Quell-Strings.
Anzeige
AW: Fast.
08.02.2006 18:38:25
Rolf
Hi,
steht doch unten:

Function doppel(satz) As String
doppel = satz & satz
End Function

mfg Rolf
AW: Fast.
08.02.2006 18:39:22
Reinhard
Hi Hans,
ich sehe

Function doppel(satz) As String
doppel = satz & satz
End Function

als Funktion mit Parametern des Quellstrings an, was vermisst du?
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
Die Sub zur Function
08.02.2006 18:44:44
Maier
Die Sub zur Function machen!
AW: Die Sub zur Function
08.02.2006 18:49:51
Reinhard
Hi Hans,
eine Funktion hat nur einen Rückgabewert (außer Profis können da ein Array zurückgeben o.ä, falls das möglich ist).
Die Aufteilung eines Absatzes ergibt aber mehrere Sätze, welchen soll ich denn zurückgeben oder was soll mit den Sätzen geschehen?
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
Anzeige
AW: Die Sub zur Function
08.02.2006 19:01:06
H.
Ich sehe:

Sub satz()
Aber daraus soll werden eine 

Function :D

Function Satz(QuellString)
End Function

AW: Die Sub zur Function
08.02.2006 20:48:04
Herbert
Hi,
du verstehst es wohl nicht? Eine Funktion liefert einen Wert zurück, Quellstring besteht
aus mehreren Sätzen. Was soll Satz nun liefern, den ersten Satz, den letzten Satz
oder welchen?
mfg Herbert
AW: Die Sub zur Function
08.02.2006 23:25:49
Reinhard
Hi Hans,
eine Funktion kann nur in eine einzige Zelle was schreiben, in die in der sie aufgerufen wurde.
Eine Funktion kann nicht einen "Absatz" in Sätze zerlegen (okay das kann sie schon, aber nicht als Ergebnis der Funktion) und dann die Sätze in A1 B1 C1 usw verteilen (das geht halt nicht).
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
Anzeige
AW: Die Sub zur Function
09.02.2006 00:22:59
Daniel
Hallo
nein, das stimmt so nicht.
eine Funktion kann wie eine Sub auch in beliebige Zellen Werte schreiben, unabhängig vom Rückgabewert.
Ich könnte mir die Funktion so vorstellen, daß man als Eingabewert
1. den textstring
2. die StartZelle, ab der das Ergebnis eingefügt werden soll
vor gibt.
Die Funktion schreibt dann die Einzelsätze untereinander, beginnen mit der Startzelle und gibt dann ein Range-Objekt zurück mit dem Zellebereich, indem sich die Sätze befinden.
Oder sie gibt nur Anzahl der gefunden Sätze zurück.
Man muß sich dann nur ein paar kreative Gedanken machen, wie man das Ergebnis weiterverarbeitet.
Gruß, Daniel
Anzeige
AW: Die Sub zur Function
09.02.2006 03:01:13
Maier
GENAU!!!!
Erwähnte Lösung funtioniert nicht :(
09.02.2006 03:12:00
Maier
Liebe Freunde,
die erwähnte Lösung funktioniert nicht!
Schade, denn diese bringt nur verstümmelte Sätze hervor!!
MfG
Maier
AW: Erwähnte Lösung funtioniert nicht :(
09.02.2006 13:30:53
Reinhard
Hi Hans,
verstümmelte Sätze? Es fehlte nur s="", deshalb wurden die Sätze immer länger, aber verstümmelt?
neuer Versuch:
Option Explicit
Function doppel(absatz, nr) As String
Dim satz(), n As Long, anz As Long, s As String
For n = 1 To Len(absatz)
Select Case Mid(absatz, n, 1)
Case ".", "?", "!"
s = s & Mid(absatz, n, 1)
anz = anz + 1
ReDim Preserve satz(anz)
satz(anz) = s
s = ""
Case Else
s = s & Mid(absatz, n, 1)
End Select
Next n
If nr > n Then
doppel = "soviele Sätze gibt es nich"
Else
doppel = satz(nr) & satz(nr)
End If
End Function
Sub test()
Range("A1") = "Die Sonne scheint. De Mond ist helle! Scheinen die Sterne?"
MsgBox doppel(Range("A1"), 2)
End Sub

Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
Anzeige
AW: Die Sub zur Function
09.02.2006 13:19:42
Reinhard
Hallo Daniel,
...........nein, das stimmt so nicht.
eine Funktion kann wie eine Sub auch in beliebige Zellen Werte schreiben, unabhängig vom Rückgabewert.
Ich könnte mir die Funktion so vorstellen, daß man als Eingabewert
1. den textstring
2. die StartZelle, ab der das Ergebnis eingefügt werden soll
vor gibt................
Das geht so nicht.
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige