Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Liste mit Begriffen durch einen Begriff ersetzen
#1
Hallo zusammen,

ich suche nach einer Möglichkeit, in einem Blatt alle Zellen mit einem bestimmten Wert durch einen anderen Wert zu ersetzen. Konkreter habe ich ein Blatt mit 40.000 Keywords in einzelnen Zellen. Da ich aber einheitliche Begriffe brauche, habe ich Gruppen gebildet, die zu einem Begriff gehören.

Beispiel:

Die Worte Cloud Computing Software, Cloud, Cloud Technologies, Cloud System kommen allesamt als einzelne Keywords vor, sollen aber alle durch "Cloud Computing" ersetzt werden. Von diesen Listen habe ich 20 Stück à bis zu 10 Begriffen, was das ganze mit Suchen & Ersetzen sehr mühsam macht. Fällt euch da was schnelles zu ein?

Vielen Dank und viele Grüße,
Robin
Antwortento top
#2
Hallo,

ich könnte ein Makro schreiben, dazu brauche ich aber den Bereich, in dem die Begriffe vorkommen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top
#3
Zitat:Fällt euch da was schnelles zu ein?
Logisch. Erstelle eine Liste mit den Suchbegriffen und lass mittels Makro eine Schleife ablaufen, die diese Liste durchackert und Treffer durch den gewünschten Begriff ersetzt.
Schöne Grüße
Berni
Antwortento top
#4
Hallo,

versuche es mal damit:

Code:
Option Explicit

Sub test()
Dim c As Range
Dim firstAddress As String
With Worksheets(1).Range("A1:A500") ' Bereich auf deine Datei anpassen.
    Set c = .Find("Cloud", LookIn:=xlValues, lookat:=xlPart)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            c.Value = "Cloud Computing"
            Set c = .FindNext(c)
        Loop While Not c Is Nothing
    End If
End With
End Sub
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top
#5
Hallo Klaus-Dieter,

ich habe eine Datei angehangen, in Tabelle 4 stehen dabei die einzelnen Listen, das Wort in Zeile 1 ist dabei immer das, was die anderen darunter in jeder Spalte ersetzen soll. In Tabelle 2 sind alle Keywords, die entsprechend ersetzt werden sollen.

Reicht das so?

Viele Grüße

Also wichtig wäre nicht, dass er auf einen Klick alle ersetzt, wenn ich zwanzig Mal die Spalte austauschen muss ist das nicht dramatisch!


Angehängte Dateien
.xlsx   Liste ersetzen.xlsx (Größe: 404,15 KB / Downloads: 6)
Antwortento top
#6
Ich habe jetzt Mal versucht, dieses Makro auf meine Liste anzuwenden, das hat leider aber nicht funktioniert. Hast du da evtl. noch einen Tipp?
Antwortento top
#7
Hallo,

kann so nicht funktionieren, da mir der vollständige Umfang des Problems nicht bekannt war. Wenn du in dieser Zeile:

Code:
With Worksheets(1).Range("A1:A500") ' Bereich auf deine Datei anpassen.

Workshhets(1). rauslöschst, wird es wenigstens im Spalte A auf Tabelle4 funktionieren. Ohne Grund hatte ich da nicht reingeschrieben, dass die Bezüge angepasst werden müssen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top
#8
Hallo Klaus-Dieter,

ja das habe ich gemacht. Allerdings habe ich auch versucht das Wort "Cloud" durch die Liste zu ersetzen, bzw. auch beispielhaft durch "Cloud Technologie" zu ersetzen, leider hat das beides auch nicht funktioniert.

Konnte dir die Datei weiterhelfen? Ich bin da leider nicht tief genug drin im Thema...

Vielen Dank schonmal und viele Grüße,
Robin
Antwortento top
#9
Mein Vorschlag dazu:

Code:
Sub ersetzen()

Dim i As Long
Dim Q As Worksheet
Dim Z As Worksheet


Set Q = Worksheets("Tabelle4")      'Tabelle mit Suchbegriffen
Set Z = Worksheets("Tabelle2")      'Tabelle mit zu ersetzenden Begriffen

For i = 1 To Q.Cells(Rows.Count, 1).End(xlUp).Row

    Z.Cells.Replace What:=Q.Cells(i, 1), Replacement:=Q.Cells(i, 2), LookAt:=xlPart, SearchOrder:=xlByRows

Next i
End Sub
Erfordert allerdings, dass du die Suchbegriffe alle in einer Spalte untereinander schreibst und jeweils den Ersatzbegriff daneben. So baut man nämlich Listen korrekt auf. Erspart eine Schleife.

Sei dir außerdem bewusst, dass der Suchbegriff "AI" wahrscheinlich auch Treffer umwandelt, die zB im Wort "Kai" oder "Hai" ersetzt. Diese Spezialbegriffe würde ich eher händisch suchen lassen.
Schöne Grüße
Berni
[-] Folgende(r) 1 Benutzer sagt Danke an MisterBurns für diesen Beitrag:
  • robinmathar
Antwortento top
#10
Hallo Berni,

danke dir! Also du meinst neben jedes einzelne Wort, dass ich ersetzen will, das Wort mit dem es ersetzt werden soll?

Gibt es keine Möglichkeit zu sagen, dass er nur Zellen findet, die in vollem Umfang mit dem Suchbegriff übereinstimmen? Quasi wie in der integrierten Suche "ganze Zelle einschließen".

Viele Grüße,
Robin

Ich glaube fast, dass es geklappt hat, habe alles wie besprochen umgebaut und durchlaufen lassen, es ging aber so schnell, dass ich es nicht wirklich wahr haben wollte, der Vergleich mit der unbearbeiteten Datei bestätigt zumindest die Stichprobe aber! Danke Smile
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste