Auslesen und Bearbeiten von Strings

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Auslesen und Bearbeiten von Strings
von: Thomas
Geschrieben am: 22.09.2003 10:09:30

Hallo zusammen!

Die Situation:

Ich habe in einer Exceltabelle in Zellen Strings hinterleget. Ich möchte den Text/ die Strings aus den Zellen auslesen, bestimmte Inhalte aus dem ausgelesenen String entfernen und den verbleibenden String wieder in die Zelle einlesen. Die Teile der Strings, die ich löschen möchte, sind immer in runden Klammern enthalten.

Beispiel:
VORHER:
„Das bleibt (das nicht)“
NACHHER
„Das bleibt“

Ich weiß schon, wie ich das Makro aufbaue. Ich weiß welche Loops ich verwende und wie ich durch die Exceltabelle springen muss.

Was mir fehlt:

Ich brauche eine Methode, mit der ich bestimmte und einzelnen Zeichen eines Strings auslesen, löschen und einfügen kann.

Kennt ihr eine solche Methode und wie funktioniert sie?

Vielen Dank!

Bild


Betrifft: AW: Auslesen und Bearbeiten von Strings
von: Andi_H
Geschrieben am: 22.09.2003 10:30:35

Hi Thomas,
mit diesem Code sollte es klappen, mußt du halt noch anpassen.


Sub strings_aendern()
Dim str As String
Dim Xlen, first_su, last_su As Integer
str = Cells(1, 1)
Xlen = Len(str)
first_su = InStr(1, str, "(", 1)
last_su = InStr(x + 1, str, ")", 1)
If last_su = Xlen Then
str = Left(str, first_su - 1)
Cells(2, 1) = str
ElseIf last_su < Xlen Then
str = Left(str, first_su - 1) & Right(str, Xlen - last_su)
Cells(3, 1) = str
End If
End Sub


Grüße

Andi


Bild


Betrifft: AW: Auslesen und Bearbeiten von Strings
von: Thomas
Geschrieben am: 22.09.2003 10:56:20

Es läuft. Vielen Dank


Bild


Betrifft: AW: Auslesen und Bearbeiten von Strings
von: WernerB.
Geschrieben am: 22.09.2003 10:34:15

Hallo Thomas,

markiere den betreffenden Zellbereich und starte dann das nachstehende Makro.
Zwei Bedingungen müssen allerdings erfüllt sein:
- Der wegfallende Text (in Klammern) muss am Ende stehen.
- Vor dem "("-Zeichen muss ein Leerzeichen stehen.


Option Explicit

Sub Thomas()
Dim c As Range
Dim Ka As Integer
    Application.ScreenUpdating = False
    For Each c In Selection
      Ka = InStr(c.Value, " (")
      If Ka > 0 Then
        c.Value = Left(c.Value, Ka - 1)
      End If
    Next c
    Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).


Bild


Betrifft: AW: Auslesen und Bearbeiten von Strings
von: Ingo
Geschrieben am: 22.09.2003 12:43:58

Hallo Thomas,

warum nicht einfach folgende Lösung:

Bereich markieren:

Bearbeiten/Ersetzen:

suchen nach: (*)

Ersetzen durch: (nichts)


erkennt auch mehrere () in einem String

wenn Du das als makro brauchst einfach aufzeichnen.


Gruß Ingo


Bild


Betrifft: AW: Auslesen und Bearbeiten von Strings
von: Thomas
Geschrieben am: 22.09.2003 12:51:07

Die einfachen Ideen sind ja oft die besten. Doch in diesem Fall möchte ich nicht nur die Klammern ersetzten sonder auch den Inhalt (siehe Beispiel).

Gruß

Thomas


Bild


Betrifft: probiers einfach aus!!! ;-)
von: Ingo
Geschrieben am: 22.09.2003 13:02:17

hallo Thomas,
es wird alles zwischen 2 Klammern incl. der kalmmern ersetzt

Gruß Ingo


Bild


Betrifft: AW: probiers einfach aus!!! ;-)
von: Thomas
Geschrieben am: 22.09.2003 13:08:42

Stimmt. Danke.


Bild


Betrifft: AW: das ist ohne VBA unmöglich - oder etwa doch?
von: Franz Pölt
Geschrieben am: 22.09.2003 22:43:31

Hallo Thomas,

sieh selbst: :-)

Excel Jeanie HTML
Formeln der Tabelle
D1 : =ERSETZEN(A1;SUCHEN(B1;A1);LÄNGE(B1);C1)
E1 : =WECHSELN(A1;B1;C1)
D2 : =ERSETZEN(A2;SUCHEN(B2;A2);LÄNGE(B2);C2)
E2 : =WECHSELN(A2;B2;C2)
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download   Servus aus dem Salzkammergut Franz

 Bild

Beiträge aus den Excel-Beispielen zum Thema " Auslesen und Bearbeiten von Strings"