VBA-Befehle verkürzen
Hallo,
ich hab' mal eine generelle Frage zu VBA:
In meinen Makros benutze ich relativ viel aufgezeichnetes. Wie kann ich bspw. die folgenden (aufgezeichneten) Befehle deutlich verkürzen?
1)
Columns("E:E").Select
Selection.Replace What:="techn. OK", Replacement:="TOK", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
2)
Application.Goto reference:="ExcName_Anzahl_TF_Trackingliste"
Set a = ActiveWorkbook.ActiveSheet.Range("ExcName_Anzahl_TF_Trackingliste")
Sheets("Trackingliste").Select
LetzteZeileTrackingliste = Cells(Rows.Count, 2).End(xlUp).Row
Range(Cells(LetzteZeileTrackingliste, 2), Cells(6 + a, 13)).Select
Selection.ClearContents
3)
Range("CA" & intZaehler).Copy
Set raZelle = Range("ExcName_DB_Vektor_Datum")
Application.Goto reference:=raZelle
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Zu 2) noch folgende ergänzende Frage: Die Spaltenangaben sind hier 2 und 13. Wenn jetzt eine Spalte eingefügt wird, muss ich das Makro nachziehen. Wie kann ich so etwas dynamisch machen, d.h. dass auch diese Spaltenangaben automatisch immer korrekt sind?
Vielen Dank, Gruß
Jojo
Antwort schreiben
Antwort 1 von gast123 vom 05.02.2020, 14:24 Options
hi jojo
da ist nicht viel drinne,was ich so auf anhieb gesehen hab 2 selectionen die man verbannen koennte
bs.
vorher
Range(Cells(LetzteZeileTrackingliste, 2), Cells(6 + a, 13)).Select
Selection.ClearContents
nachher
Range(Cells(LetzteZeileTrackingliste, 2), Cells(6 + a, 13)).ClearContents
die range bzw cells befehle wuerde ich noch mit worksheet angaben versehen
bs.
vorher
Cells(Rows.Count, 2).End(xlUp).Row
nachher
Worksheets(NAME oder INDEX).Cells(Rows.Count, 2).End(xlUp).Row
bzw, with end with
gruss gast123