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.
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!
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
Betrifft: AW: Auslesen und Bearbeiten von Strings
von: Thomas
Geschrieben am: 22.09.2003 10:56:20
Es läuft. Vielen Dank
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).
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
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
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