PDA

Vollständige Version anzeigen : Spalte umformatieren ???


omron
13.03.2009, 08:21
Hallo Forum,

Ich lasse mir aus SAP eine Exceltabelle erstelle in der in Spalte G
Einträge wie folgt stehen:
FT11-0072
FT11-0074
FT11-0078 usw.
Wie kann ich per Makro die komplette Spalte G wie folgt umformatieren:
Aus FT11-0072 soll 110-072 werden
Aus FT11-0074 soll 110-074 werden usw.

Besten dank im Voraus
omron

mücke
13.03.2009, 08:31
Guten Morgen Omron,

... habe ich folgenden CODE erhalten:
Sub Ersetzen()
Columns("G:G").Select
Selection.Replace What:="FT11-0", Replacement:="110-", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Ergebnis: 110-072, 110-074 usw.

omron
13.03.2009, 09:01
Hallo mücke,

Besten Dank das funktioniert bestens.
Leider habe ich jetzt noch ein Problem, in einer weiteren Tabelle möchte ich auch diese Änderungen durchführen. Aber hier ist das Problem, dass es auch noc eine Andere Bezeichnung gibt. Und hier funktioniert das Makro leider nicht.

LT11-0072
LT11-0074
LT13-0078

Hier gibt es nur LT11- oder LT13, kann man auch hier ein Makro anwenden???

Mit dem Makrorec. bekomme ich das leider nicht hin!

Besten Dank im Voraus
omron

Robie
13.03.2009, 09:24
Hallöchen,

du hast zwei Möglichkeiten:

1. Entweder änderst du das "FT11-0" im Code und passt es dementsprechend an oder
2.
Sub Ersetzen()

Selection.Replace What:="FT11-0", Replacement:="110-", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="LT11-0", Replacement:="110-", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="LT13-0", Replacement:="110-", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

omron
13.03.2009, 09:46
Hallo,

Ich bekomme bei den Codes eine Fehlermeldung im MVB?

Laufzeitfehler '1004'
Anwendungs- oder objektdefinierter Fehler

Mache ich da was Falsch ???

Gruß
Omron

mücke
13.03.2009, 10:16
Hi Omron,

ergänze den CODE von Robie um folgendem Eintrag ...
Sub Ersetzen()
Columns("G:G").Select
Selection.Replace ...
.
.
End Sub
... und es sollte gehen.

omron
13.03.2009, 10:38
Hallo,

leider habe ich immer noch den Fehler.
Hänge mal die Bsp Tabelle an...

Gruß
Omron

mücke
13.03.2009, 11:30
Hallo Omron,

ohne den CODE zu ändern, hat es in der Testmappe funktioniert! Ich kann den Laufzeitfehler leider nicht nachvollziehen. :(
Aber eine Anmerkung habe ich:
Im CODE der Testmappe fragst du zweimal die Variante FT11-0 ab und lässt LTxx außen vor, warum?

Anbei noch mal der vollständige CODE:
Sub Ersetzen()
Columns("A:A").Select
Selection.Replace What:="FT11-0", Replacement:="110-", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="LT11-0", Replacement:="110-", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="LT13-0", Replacement:="110-", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Ich hoffe jetzt klappt es, denn ich bin mit meinem Latein fast am Ende.

omron
13.03.2009, 12:20
Hallo mücke,

Sorry in der Testmappe FT / LT war ein Fehler vom mir.
Aber auf meinen beiden Rechnern bekomme ich den selben Fehler.
Keine ahnung woran das liegt .....

Besten Dank nochmals
Omron

mücke
13.03.2009, 12:46
Hallo Omron,

... ich glaube die Lösung für unser Problem gefunden zu haben.
In deinem Profil gibst du Office2000 an (war mir bis jetzt nicht bewusst) und hier liegt auch das Problem!
Gib in der Hilfe mal Replace ein und schau dir bitte mal die Doku dazu an.
Wenn wir den CODE jetzt einfach etwas kürzen, sollte es funktionieren!
Sub Ersetzen()
Columns("G:G").Select
Selection.Replace What:="FT11-0", Replacement:="110-", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:="LT11-0", Replacement:="110-", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:="LT13-0", Replacement:="110-", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
End Sub

omron
13.03.2009, 13:05
Hallo mücke,

Du bist einfach Spitze, so funktioniert es bestens....
Hat es wohl was mit der Office Version zu tun ???
Billi halt wieder...

Jubel....

Nochmals 1000 Dank
omron

mücke
13.03.2009, 13:20
Hi Omron,

... wenn´s jetzt funktioniert :) ...
und Danke für´s nette Feedback!