Herbers Excel-Forum - das Archiv
Zeichen austauschen
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
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
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
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
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