Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1344to1348
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro zum Werte ersetzen

Makro zum Werte ersetzen
29.01.2014 18:37:00
Heinz
Hallo Leute
Habe ein Makro,das mir im Bereich A1:O63 nach Text sucht & ersetzt.
Leider bleibt das Makro nach dem ersten ersetzten Wert stehen.
Könnte mir bitte jemand weiterhelfen?
Gruß Heinz
Option Explicit
Sub Englisch()
Dim Suchtext As Variant
Dim Ersatztext As Variant
Dim Bereich As Range
Dim Suche As Range
Dim LSuchtext As Integer 'Länge vom Suchtext
Dim LGesamt As Integer 'Länge vom genazen Text der Fundzelle
Dim LRest As Integer 'Wie LGesamt, aber exklusive Suchtext
Dim FundAnzahl As Integer
Dim i As Long
Suchtext = "Abdecktray"
Ersatztext = "Cover tray"
Suchtext = "BEZEICHNUNG"
Ersatztext = "TITLE"
Suchtext = "Artikelhöhe"
Ersatztext = "Height of article"
Suchtext = "VERPACKUNGSPLANNR."
Ersatztext = "PACKAGING PLAN NUMBER"
Suchtext = "SAP-NR."
Ersatztext = "SAP-NO."
Suchtext = "FARBE :"
Ersatztext = "COLOR:"
Suchtext = "MÜNDUNG :"
Ersatztext = "MOUTH:"
Suchtext = "Artikeldurchmesser "
Ersatztext = "Diameter of article"
Suchtext = "Artikelgewicht  (lt. Zeichn.)"
Ersatztext = "Weight of article (acc. drawing)"
LSuchtext = Len(Suchtext)
Set Bereich = Range("A1:O63") 'zu suchenden Bereich festlegen
Set Suche = Bereich.Find(What:=Suchtext, LookIn:=xlFormulas, LookAt:=xlPart, MatchCase:=False)
If Suche Is Nothing Then
MsgBox "Keine übereinstimmende Daten gefunden!"
Else
Application.ScreenUpdating = False
Do
LGesamt = Len(Suche.Value)
LRest = Len(Replace(Suche.Value, Suchtext, "", , , vbTextCompare))
FundAnzahl = (LGesamt - LRest) / LSuchtext
i = i + FundAnzahl
Application.StatusBar = "Ersetzung in: " & Suche.Address
Suche.Value = Replace(Suche.Value, Suchtext, Ersatztext, , , vbTextCompare)
Set Suche = Bereich.FindNext(Suche)
Loop Until Suche Is Nothing
Application.ScreenUpdating = True
MsgBox "Es wurden " & i & " Ersetzungen durchgeführt!"
End If
Application.StatusBar = False
Set Bereich = Nothing
Set Suche = Nothing
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Du überschreibst ja ständig die Variablen
29.01.2014 18:46:10
Matthias
Hallo
Du überschreibst ja ständig die Variablen
Suchtext = "Abdecktray"
Ersatztext = "Cover tray"

Suchtext =
"BEZEICHNUNG"
Ersatztext = "TITLE"
Gruß Matthias

AW: Makro zum Werte ersetzen
29.01.2014 19:44:24
Matze
Hallo Heinz,
...es ist bestimmt so das es nur diese Begriffe sind?
Oder kommen später Andere hinzu oder ändern sich in Andere Begriffe?
Eigentlich kann man den Bereich markieren und mit Strg+H üblich Suchen/Ersetzen öffnen.
Nagut dann halt 9x für die Suchbegriffe.
Gruß Matze

AW: Makro zum Werte ersetzen
29.01.2014 19:53:49
Heinz
Hallo Matze
Es sind immer die selben Begriffe,ungefähr 50 verschiedene.
Gruß & Danke Heinz

Anzeige
AW: Makro zum Werte ersetzen
29.01.2014 20:01:15
Matthias
Hallo
Ich hätte erwartet, das ich zuerst eine Rückmeldung bekomme.
Wenn Du es nicht verstanden hast, hättest Du ja nachfragen können.
Option Explicit
Sub Englisch()
Dim Suchtext As Variant
Dim Ersatztext As Variant
Suchtext = "Abdecktray"
Ersatztext = "Cover tray"
Suchtext = "BEZEICHNUNG"
Ersatztext = "TITLE"
Suchtext = "Artikelhöhe"
Ersatztext = "Height of article"
MsgBox " Suchtext = " & Suchtext & vbLf & "Ersatztext = " & Ersatztext
End Sub
Ich hatte ja geschrieben, das Du die Variablen immer überschreibst
Na dann, wenn Du meinen Beitrag nicht verstanden hast dann mach es eben weiter so ...
Ich bin dan raus
Gruß Matthias

Anzeige
AW: Makro zum Werte ersetzen
29.01.2014 20:07:31
Heinz
Hallo Matthias L
Ich hätte erwartet, das ich zuerst eine Rückmeldung bekomme.
Ja Matthias,hätte auch noch zurückgeschrieben,wollte es aber noch eine Zeitlang selber probieren.
Ich möchte es auch selbst hinbekommen.
Tut mir leide,wenn ich dich gekränkt habe,war sicher nicht meine Absicht.
Du hast mir schon soviel geholfen,Danke dafür.
Gruß Heinz

Eventuell ohne Makro
29.01.2014 21:06:26
Heinz
Hallo Matthias & Matze
Könnte man es nicht eventuell ohne Makro machen:
In Sheets1 soll der Bereich A1:O63 in Sheets2 von A2:A80 durchsucht werden.
Bei übereinstimmung soll der Wert von Spalte B übernommen werden.
ZB. In Sheets1 in C45 steht "Hallo" nun sollte in Sheets2 A2:A80 nach "Hallo" gesucht werden,steht "Hallo" in A25,so sollte der Wert von B25 in Sheets1 C45 eingetragen werden.
Gruß Heinz

Anzeige
ohne Makro mit HS
30.01.2014 13:12:42
Rudi
Hallo,
dann nur mit Hilfsspalten.
Sheet1!Q1:AE63: =wennfehler(sverweis(A1;Sheet2!$A:$B;2;0);A1)
Anschließend kopieren, Inhalte einfüge-Werte. Fertig.
Gruß
Rudi

AW: ohne Makro mit HS
30.01.2014 16:33:50
Heinz
Hallo Rudi
Erstmals recht herzlichen Dank,für deine Hilfe.
Funktioniert auch,ABER leider habe ich einige verbundene Zellen.
Hättest du doch eventuell ein Makro für mich?
Danke Heinz

VerbundZellen können sehr nützlich sein, aber ...
30.01.2014 23:56:46
Luc:-?
…meist wdn sie nur für PillePalle genutzt, Heinz;
ein Anfänger sollte sich deshalb gut überlegen, ob und vor allem wie er sie nutzt (und erzeugt!), denn das muss sowohl in Fmln als auch in VBA berücksichtigt wdn. Fmln wdn uU komplizierter (vor allem, wenn man das falsche Verfahren zu ihrer Erzeugung benutzt, anderenfalls haben sie kaum negative Fml-Auswirkungen), VBA kennt hier entsprd Eigenschaften und Methoden.
Wenn du aber keine Wahl hast, musst du dich wohl oder übel mit dem ganzen Komplex beschäftigen. Material findest du im Forumsarchiv genug.
Gruß Luc :-?
Anzeige

279 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige