Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Textteile mit VBA herauskopieren

Betrifft: Textteile mit VBA herauskopieren von: barbara
Geschrieben am: 15.09.2004 18:10:25

Hallo, Ihr Superschlauen,
und das meine ich mit vollster Hochachtung, denn die schwierigsten Probleme werden hier schnell und einfach gelöst.
Ich bin ganz hin und her gerissen.

Mein Problem:

Ich möchte den Inhalt einer Zelle zerlegen und in ander Zellen schreiben.
Schwierigkeiten habe ich beim Zerlegen.
In den einzelnen Zellen steht zB:

Platz4 Sabine (19 Jahre)
Platz10 Karl (18 Jahre)
Platz33 Ute (17 Jahre)

Das Muster ist immer das gleiche.

Und da will ich Sabine als eigenen textstring haben, und 19 Jahre, Karl, 18 Jahre, Ute, 17 Jahre auch.

Mit Excel kann ich das, aber in VBA fehlen mir die Funktionen. Mit inStr finde ich zwar die Position eies Zeichens, aber den Text zwischen Leerzeichen und ( kriege ich nicht raus.

Wenn ich den text dann als Variable habe, komme ich schon weiter.

Hat wer der geschätzten Spezialsten einen Rat?

LG, B.

  


Betrifft: AW: Textteile mit VBA herauskopieren von: th.heinrich
Geschrieben am: 15.09.2004 18:28:19

hallo Barbara,

mit mir bist Du allerdings auf keinen profi gestossen, deswegen habe ich den thread auch wieder auf offen gestellt.

mal angedacht DATEN-TEXT IN SPALTEN mit GETRENNT-LEERZEICHEN-ANDERE-( bekommst Du zumindest die erste KLAMMER weg. die zweite ) mit ERSETZEN-)-ALLE ERSETZEN.

klar ist das umstaendlich und ich bin mir auch sicher, dass noch VBA loesungen eintrudeln.

gruss thomas


  


Betrifft: AW: Textteile mit VBA herauskopieren von: PeterW
Geschrieben am: 15.09.2004 18:52:00

Hallo Barbara,

in VBA geht das im Prinzip wie in Excel auch. Mal ein Beispiel für den ersten Teil, der Rest ist dann nur noch Fleissarbeit. ;-)
Sub Textteile()
   Dim strAusgang As String
   Dim strPlatz As String
   strAusgang = "Platz4 Sabine (19 Jahre)"
   strPlatz = Left(strAusgang, InStr(1, strAusgang, " "))
   MsgBox strPlatz
   strAusgang = Right(strAusgang, Len(strAusgang) - InStr(1, strAusgang, " "))
   MsgBox strAusgang
End Sub

Gruß
Peter


  


Betrifft: AW: Textteile mit VBA herauskopieren von: Nepumuk
Geschrieben am: 15.09.2004 18:55:15

Hallo barbara,
kurz und knapp:


Public Sub barbara()
    Dim strName As String, strAlter As String
    strName = Mid(Cells(3, 1), InStr(1, Cells(3, 1), " ") + 1, InStr(InStr(1, Cells(3, 1), " ") + 1, Cells(3, 1), " ") - InStr(1, Cells(3, 1), " ") - 1)
    strAlter = Mid(Cells(3, 1), InStr(1, Cells(3, 1), "(") + 1, InStr(InStr(1, Cells(3, 1), "(") + 1, Cells(3, 1), ")") - InStr(1, Cells(3, 1), "(") - 1)
End Sub


Gruß
Nepumuk