nakama
Goto Top

Makro suchen ersetzen

Hallo Community,

im Moment bin ich am verzweifeln.
Ich schreibe mir ein Makro was ich für die UST Erklärung benötige.
Dazu habe ich die Kreditoren auf eine 5-stellige Code reduziert. Das klappt hervorragen.

Jetzt kommt aber meine Pain.
Ich möchte diesen 5-stellige Definition in eine andere Spalte kopieren und umbenennen.
Hier ist der Punkt wo mein Makro sich selbstständig macht und mir alle Spalten wo der Name genannt ist überschreibt.
Ich suche mir einen Wolf wie ich den Bug raus bekommen.

Die Programmierung:

'VI_23_2 Makro
'
'
Columns("I:I").Select
Application.CutCopyMode = False
Selection.Copy
Columns("P:P").Select
Selection.Insert Shift:=xlToRight
Columns("P:P").Select
ActiveCell.Replace What:="Text", Replacement:= _
"Name", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, _
FormulaVersion:=xlReplaceFormula2
ActiveCell.Replace What:="Bolon", Replacement:= _
"Bolonia Servicios E Ingenieros S.L.", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, _
FormulaVersion:=xlReplaceFormula2


oder gibt es einen einfacheren Weg mit suchen und ersetzen?

Danke

Content-Key: 1429538528

Url: https://administrator.de/contentid/1429538528

Printed on: June 15, 2024 at 01:06 o'clock

Member: Meierjo
Meierjo Oct 26, 2021 at 05:23:53 (UTC)
Goto Top
Hallo

also, dein Code, den du hier gepostet hast, macht:
Die Spalte I nach Spalte P kopieren, der vorherige Inhalt von Spalte P wird nach Spalte Q kopiert
Dan markierst du nochmals die ganze Spalte P, und suchst aber nur in der aktiven Zelle nach Text und ersetzt dies durch Name
Dann suchst du nochmals in der aktiven Zelle nach Bolon und ersetz dies durch Bolonia Servicios E Ingenieros S.L. (kann ja aber nicht bringen, da in der aktiven Zelle Name steht.

Also, sag uns doch bitte, was du genau erreichen willst

Gruss
Member: nakama
nakama Oct 26, 2021 at 08:53:36 (UTC)
Goto Top
Hallo Meierjo,

vielen Dank für Deine Antwort und Deine Frage.

Was ich erreichen möchte:
Die Spalte I nach P kopieren und dort den Inhalt von der Spalte I überschreiben.
Von Bolon (5-stellige Definition) in den kompletten Firmennamen Bolon Servicios E Ingenieros S.L..

Das Makro soll eine automatisierte Suche und Ersetzten Funktion werden und die manuelle drag und drop ersetzen.

Wo ist der Befehl das der Inhalt von der Spalte P in die Spalte Q kopiert wird?
Member: Meierjo
Meierjo Oct 26, 2021 at 11:42:35 (UTC)
Goto Top
Hallo

Die Spalte I nach P kopieren
Columns("I:I").Copy Destination:=Columns("P:P")  
und dort den Inhalt von der Spalte I überschreiben.
Passiert logischwereise, wenn Spalte I nach Spalte P kopiert wird

Von Bolon (5-stellige Definition) in den kompletten Firmennamen Bolon Servicios E Ingenieros S.L..
Columns("P:P").Replace What:="Bolon", Replacement:="Bolonia Servicios E Ingenieros S.L.", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False  

Wo ist der Befehl das der Inhalt von der Spalte P in die Spalte Q kopiert wird?
Das hast du hier definiert
Columns("P:P").Select  
    Selection.Insert Shift:=xlToRight

Gruss
Member: nakama
nakama Oct 26, 2021 at 12:22:52 (UTC)
Goto Top
Hallo Meierjo,

das habe ich jetzt wie von Dir beschrieben gemacht. Wie wichtig ist der Befehl nach False? Ist das unrelevant und kann weg?

Columns("I:I").Copy Destination:=Columns("P:P")
Columns("P:P").Replace What:="Bolon", Replacement:= _
"Bolonia Servicios E Ingenieros S.L.", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, _
FormulaVersion:=xlReplaceFormula2


Also mit der Formel kopiert er mir die Spalte, fügt sie in die Spalte P ein, aber überschriebt mir die Spalte I mit den Inhalt aus der Spalte P

Es steht in der Spalte I nicht mehr Bolon sondern Bolon Servicios E Ingenieros S.L.
plus der Spalte P. Also doppelt. Und ich hätte gerne weiterhin die Spalte I als Referenz stehen und die Spalte P als geänderten/modifizierten Inhalt stehen.

Plus Bolon ist natürlich nicht die einzige Umbenennung sondern 150 andere Firmen werden hier aufgeführt.
Member: Meierjo
Meierjo Oct 26, 2021 at 12:58:32 (UTC)
Goto Top
Hallo

das habe ich jetzt wie von Dir beschrieben gemacht. Wie wichtig ist der Befehl nach False? Ist das unrelevant und kann weg?
Hier findest du eine Beschreibung der Parameter zu Replace
Ich weiss ja nicht, was du alles kopieren willst, daher kann ich nicht sagen, ob du diese Parameter benötigst, oder nicht

Also mit der Formel kopiert er mir die Spalte, fügt sie in die Spalte P ein, aber überschriebt mir die Spalte I mit den Inhalt aus der Spalte P
Dann hast du vermutlich in der Spalte I eine Formel hinterlegt??

Es steht in der Spalte I nicht mehr Bolon sondern Bolon Servicios E Ingenieros S.L.
plus der Spalte P. Also doppelt. Und ich hätte gerne weiterhin die Spalte I als Referenz stehen und die Spalte P als geänderten/modifizierten Inhalt stehen.
siehe oben
Plus Bolon ist natürlich nicht die einzige Umbenennung sondern 150 andere Firmen werden hier aufgeführt.
?? Hä, und du willst alle 150 Einträge suchen und umbenennen??

Gruss
Member: nakama
Solution nakama Nov 01, 2021 at 13:41:07 (UTC)
Goto Top
Mein Kollege hat mir geholfen und mir folgendes geschrieben

'Declaration
Dim LastRow As Long
Dim RowNum As Long


'Copy/Paste Column H to Column P
Range("H:H").Copy
Range("P:P").Insert


'Select Column P for Data alteration
Columns("P:P").Select

'get Last Row in Column P
LastRow = Cells(Rows.Count, 16).End(xlUp).Row

'Set Loop for Replacement
Range("P" & "2" & ": P" & LastRow).Select

das hat das Problem gelöst.
Vielen Dank die den Post gelesen haben.
Danke für die Hilfestellung.