Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Bestimmten Text einer Zelle ersetzen

Betrifft: Bestimmten Text einer Zelle ersetzen von: Muehli
Geschrieben am: 29.10.2014 10:50:01

Guten Morgen,

ich habe eine kurze Frage:

Form meiner Tabelle:

|SpalteA|
|Wort Wort Wort|
|Wort Wort Wort [beliebig viele Leerzeichen] F(#####)|
|Wort Wort [beliebig viele Leerzeichen]F(#####)|
|Wort|
|Wort Wort|

Wie kann ich es nun realisieren, wenn ich den Ausdruck "F(#####)" in der kompletten Spalte durch den Ausdruck "Test" ersetzt haben möchte?

Bsp:

|SpalteA|
|Wort Wort Wort|
|Wort Wort Wort [beliebig viele Leerzeichen] Test|
|Wort Wort [beliebig viele Leerzeichen] Test|
|Wort|
|Wort Wort|

Anmerkung:
Der Ausdruck "F(#####)" sieht immer so aus, ist also keine Variable.

Freundliche Grüße
Muehli

  

Betrifft: Dann mit WECHSELN ! Gruß owT von: Luc:-?
Geschrieben am: 29.10.2014 10:55:28

:-?


  

Betrifft: AW: Dann mit WECHSELN ! Gruß owT von: Muehli
Geschrieben am: 29.10.2014 11:24:29

Hallo Luc,

danke für deine Antwort!

Ich habe es mal so versucht:

Private Sub CommandButton1_Click()

Dim i As Long
Dim TxtZelle As String
i = 1

For i = 1 To 1000

TxtZelle = Range("A" & i).Text

Range("A" & i).FormulaLocal = "=WECHSELN(TxtZelle;""F(#####)"";""Test"")"

Next i
 
End Sub
Aber es führt leider nicht zum gewünschten Ergebnis.
Ist mein Code totaler Murks oder ist es nur eine Kleinigkeit die fehlt?

Freundliche Grüße
Muehli


  

Betrifft: AW: Dann mit WECHSELN ! Gruß owT von: Muehli
Geschrieben am: 29.10.2014 11:24:29

Hallo Luc,

danke für deine Antwort!

Ich habe es mal so versucht:

Private Sub CommandButton1_Click()

Dim i As Long
Dim TxtZelle As String
i = 1

For i = 1 To 1000

TxtZelle = Range("A" & i).Text

Range("A" & i).FormulaLocal = "=WECHSELN(TxtZelle;""F(#####)"";""Test"")"

Next i
 
End Sub
Aber es führt leider nicht zum gewünschten Ergebnis.
Ist mein Code totaler Murks oder ist es nur eine Kleinigkeit die fehlt?

Freundliche Grüße
Muehli


  

Betrifft: AW: Makrorecorder von: hary
Geschrieben am: 29.10.2014 11:43:31

Moin
Fuer so'ne Faelle gibt es den Makrorecorder. Blattname anpassen.

worksheets("Tabelle1").Columns("A:A").Replace What:="F(#####)", Replacement:="Test", LookAt:=xlPart, SearchOrder:=xlByRows

gruss hary


  

Betrifft: Suchen + Ersetzen von: Matthias L
Geschrieben am: 29.10.2014 11:46:45

Hallo

Das geht doch auch ohne VBA

mit Strg+H Dialog aufrufen



alle ersetzen - das wars schon ...



so siehts dannach aus:

Tabelle1

 A
1|Wort Wort Wort|
2|Wort Wort Wort [beliebig viele Leerzeichen] Test|
3|Wort Wort [beliebig viele Leerzeichen]Test|
4|Wort|
5|Wort Wort|


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruß Matthias


  

Betrifft: Substitute von: Matthias L
Geschrieben am: 29.10.2014 11:51:19

Hallo

Noch eine Variante

Dim TxtZelle$, TauschTxt$, NewTxt$
TxtZelle = Range("A2").Value
TauschTxt = "F(#####)|"
NewTxt = "Test"
Range("A4").Formula = Application.WorksheetFunction.Substitute(TxtZelle, TauschTxt, NewTxt)



Ergebnis:
 A
2|Wort Wort Wort [beliebig viele Leerzeichen] F(#####)|
3 
4|Wort Wort Wort [beliebig viele Leerzeichen] Test


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruß Matthias


  

Betrifft: Das ist dann ja wohl auch von 'hinten durch ... von: Luc:-?
Geschrieben am: 29.10.2014 11:52:15

…die Brust geschossen', Muehli,
obwohl es auch fktionieren würde, wenn du beachtet hättest, dass TxtZelle jetzt einen Text enthält, den die Fml aber ohne entsprd Kennzeichnung als (fehlerhaften) Namen interpretieren würde. Außerdem hast du den VariablenNamen direkt in die Fml einbezogen (diesen Namen kennt deine XlMappe nicht!), nicht ihren Inhalt! Richtig wäre also:
"=WECHSELN(""" & TxtZelle & """;""F(#####)"";""Test"")"
Aber das kann man auch einfacher haben:
Range("A" & i) = Replace(TxtZelle, "F(#####)", "Test")
Gruß, Luc :-?


  

Betrifft: AW: Bestimmten Text einer Zelle ersetzen von: Uwe Küstner
Geschrieben am: 29.10.2014 11:45:26

Hallo,

Private Sub CommandButton1_Click()
  ActiveCell.Activate
  Me.Columns(1).Replace What:="F(#####)", Replacement:="Test", _
      LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
End Sub
Gruß Uwe


  

Betrifft: AW: Bestimmten Text einer Zelle ersetzen von: Muehli
Geschrieben am: 29.10.2014 13:02:16

Hallo Uwe,

danke für die Antwort!

Funktioniert super!

Allen Anderen auch ein Dankeschön für die Mühe :)

Gruß
Muehli


 

Beiträge aus den Excel-Beispielen zum Thema "Bestimmten Text einer Zelle ersetzen"