Herbers Excel-Forum - das Archiv

Zeichen austauschen

Bild

Betrifft: Zeichen austauschen
von: Bernd

Geschrieben am: 12.12.2006 19:10:29
Liebe Excel-community,
ich stricke jetzt schon vergeblich den ganzen Nachmittag an einem simplen Code zum Austauschen eines Textes durch einen anderen.
Ich habe meine peinlichen Ergebnisse in beiliegener Mappe dargestellt.
Wer will mir denn helfen?
https://www.herber.de/bbs/user/38920.xls
Danke vielmals vorab.
Bernd
Bild

Betrifft: AW: Zeichen austauschen
von: Erich G.

Geschrieben am: 12.12.2006 19:22:38
Hallo Bernd,
der Select wird bei mir nicht ignoriert. Ist er überhaupt nötig/sinnvoll?
Probiers mal mit
Option Explicit
Sub Zeichen_bearbeiten()
Dim Austausch As String
Dim i As Long           ' Long ist besser bei Zeilennummern
Range("E22").Select   'dieser Befehl wird NICHT  ignoriert
For i = 22 To 75     ' Ansprechen der Zeile 22 bis 75
Cells(i, 5) = Replace(Cells(i, 5), "IT BS -SE-TV: ", "IT BS AP -SE-TV: ", 1, 1)
Next i
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Bild

Betrifft: @Erich
von: Bernd

Geschrieben am: 12.12.2006 23:00:41
Hallo Erich,
vielen Dank für Deinen Lösungsvorschlag, der (natürlich) wie immer perfekt funktioniert.
Danke auch für diene ergänzenden Hinweise.
Eine Frage zu: Range("E22").Select. Du schreibst, dass dieser Befehl >>nicht<< ignoriert wird. Wenn ich aber im Code die Zeile: "For 22 To 75" abändere in z.B. "For 5 to 75", dann wird in Zeile 5 begonnen und nicht in Zeile 22, wo begonnen werden soll. Daraus schließe ich ,dass der Range/Select Befehl ignoriert wird.
Ich interpretier(t)e den Befehl For i = 22 To 75 bislang so, dass vom gewählten Startpunkt (Zelle E22) dann 75 Zeilen nach unten abgearbeitet wird. Aber die Selection wird ja immer noch ignoriert.
Grüße und Danke
Bernd aus Erlangen
Bild

Betrifft: AW: Zellbearbeitung ohne Select
von: Erich G.

Geschrieben am: 12.12.2006 23:49:02
Hallo Bernd,
wenn du schreibst "For 5 to 75", dann soll doch für alle von 5 bis 75 etwas getan werden.
Welche Rolle spielt es dabei, welche Zelle zufällig gerade selektiert ist?
(Es könnte auch irgendwo ein größerer Zellbereich z. B. über mehrere Spalten selektiert sein.)
Wenn im Code z. B. steht: Cells(1,1) = "xy", dann bekommt A1 die Zeichenkette xy als Wert.
Ob davor oder danach irgendwelche Select-Anweisungen stehen, spielt dafür überhaupt keine Rolle.
Noch eine Bemerkung zu
Range("E22").Select
Dadurch wird E22 selektiert. Damit ist doch diese Anweisung ausgeführt, sie wird also nicht ignoriert.
Die Anweisung bewirkt das Gleiche wie ein (Einfach-)Klick mit der Maus auf E22.
In vielen Codes snd die meisten Select-Anweisungen völlig überflüssig, oft stören sie auch.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Bild

Betrifft: Hinweis auf einen mit dieser Lösung verb. Eintrag
von: Bernd

Geschrieben am: 13.12.2006 09:38:04
Hinweis:
ich habe eine Frage zur weiteren/verteifenden Erläuterung der in dieser Lösung verwendeten Cells-Formel in den nachfolgenden Beitrag eingestellt.
https://www.herber.de/forum/archiv/828to832/t828811.htm#828811
Grüße und vielen Dank an Erich.
Bernd
 Bild
Excel-Beispiele zum Thema "Zeichen austauschen"
Summe bilden, wenn Kriterium Zeichenfolge Leerzeichen aus einem Bereich löschen
Anfügen des Zeichens für Durchmesser Zeichenfolge aufteilen
Filtern einer Zahl aus einer Zeichenfolge Zeichenfolgen in Zahlen nach Textimport
Zeichenfolge korrigieren Zeichenfolge umkehren
Zeichen separieren Module und UserForms austauschen