Textstring in Zelle vor bestehenden Text setzen

23/10/2009 - 14:59 von Harri Märki | Report spam
Hallo zusammen

Ich habe eine relativ grosse Tabelle mit über 20'000 Zeilen. Dies variiert
wöchentlich, resp wird eher mal lànger als kürzer (also z.B. 24'000, dann
25'200, ...). In meiner Spalte M habe ich nun verschiedene Werte. In meinem
bestehenden Makro möchte ich, dass vor jeden dieser Werte in der Spalte M ein
String hingesetzt wird. Dieser String oder Textteil ist immer der gleiche.
Also z.B.

aus:
123456
456789
963852

wird:

abcd123456
abcd456789
abcd963852

Bei meiner Aufzeichnung der Formel habe ich dies mit einer Verkettenformel,
kopieren und "nur Werte einfügen" gemacht.
Das Ganze scheint mir so aber etwas zu kompliziert und unter Umstànden zu
Fehlerbehaftet zu sein.

Wie müsste da das Makro aussehen? Aktuell sieht es in etwa so aus:

Columns("M:M").Select
Selection.Insert Shift:=xlToRight
Range("M2:M2:M24744").Value =
"http://shop.psh.ch/shop/artikeldeta...kel="
Range("M2:M24744").Select
Columns("N:N").Select
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Range("N2").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-1],RC[-2])"
Range("N2").Select
Selection.AutoFill Destination:=Range("N2:N24744")
Range("N2:N24744").Select
Selection.Copy
Range("O2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Columns("L:N").Select
Range("N1").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Range("L1").Select

Geht doch sicher noch einfacher oder? :-)

Gruss Harri
 

Lesen sie die antworten

#1 Alexander Wolff
23/10/2009 - 15:10 | Warnen spam
Als <news: ließ
Harri Màrki verlautbaren, evtl. nachfolgend zitiert:

Sub TextstringVorSpalteneintraege()
a = Range("A:A")
For i = 1 To 65536
a(i, 1) = IIf(a(i, 1) <> 0, "abcd" & a(i, 1), "")
Next
Range("A:A") = a
End Sub

Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2

Ähnliche fragen