Herbers Excel-Forum - das Archiv

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
Excel-Beispiele zum Thema " Auslesen und Bearbeiten von Strings"
Mehrfachauswahl aus ListBox auslesen Dateien aus Listbox auslesen und öffnen
Bereich in RefEdit-Element eingeben und auslesen Auslesen der Arbeitsmappeneigenschaften
UserName aus der Windows-Registry auslesen Eintrag aus der Win.ini auslesen
Einzelnes Zeichen aus einer InputBox-Eingabe auslesen Ausgewählte Arbeitsblätter auslesen
Mehrfachauswahl in ListBox auslesen dBase-Datei laden, bearbeiten, speichern