Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1248to1252
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 zu langsam

Makro zu langsam
mehmet
Guten Tag Forum,
ich habe mittels Macrorecorder folgenden Macro aufnehmen und anpassen können:
Private Sub Text_in_Zahl_und_BedFormat_Spalte_AV_bzw_Z_TempTau_an()
'AV11=WECHSELN(LINKS(Z11;FINDEN("/";Z11)-1);"M";"-";1)-WECHSELN(TEIL(Z11;VERWEIS(9^9;FINDEN("/"; _
Z11;ZEILE(Z:Z)))+1;99);"M";"-";1)
Range("AV11").Select
Selection.NumberFormat = "General"
ActiveCell.FormulaR1C1 = _
"=SUBSTITUTE(LEFT(RC[-22],FIND(""/"",RC[-22])-1),""M"",""-"",1)-SUBSTITUTE(MID(RC[-22], _
LOOKUP(9^9,FIND(""/"",RC[-22],ROW(C[-22])))+1,99),""M"",""-"",1)"
Range("AV11").Select
Selection.AutoFill Destination:=Range("AV11:AV58"), Type:=xlFillDefault
Range("AV11:AV58").Select
Range("AV11").Select
'Jetzt von Hilfs Zelle AV nach Z übertragen
'Mache die erste Bed Format
Range("Z11").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=AV11
Leider ist der Macro sehr rechenintensiv
Könnt ihr euch vorstellen voran das liegen kann oder eine Korrektur/Vorschlag machen
Herzlichen Dank
Gruss
mehmet

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro zu langsam
01.02.2012 10:37:30
Reinhard
Hallo Mehmet,
macht dies das Gleiche?
Private Sub Text_in_Zahl_und_BedFormat_Spalte_AV_bzw_Z_TempTau_an()
With Range("AV11")
.NumberFormat = "General"
.FormulaR1C1 = _
"=SUBSTITUTE(LEFT(RC[-22],FIND(""/"",RC[-22])-1),""M"",""-"",1)-SUBSTITUTE(MID(RC[-22]," _
_
& "LOOKUP(9^9,FIND(""/"",RC[-22],ROW(C[-22])))+1,99),""M"",""-"",1)"
.AutoFill Destination:=Range("AV11:AV58"), Type:=xlFillDefault
End With
'Jetzt von Hilfs Zelle AV nach Z übertragen
'Mache die erste Bed Format
With Range("Z11")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=AV11

Gruß
Reinhard
Anzeige
AW: Makro zu langsam
01.02.2012 10:46:02
mehmet
Hallo Reinhard,
ja macht es 8-)
und ist dabei sehr schnell
Herzlichen Dank
Gruss
mehmet
@Reinhard: Vorsicht!
01.02.2012 10:58:57
Rudi
Hallo,
wenn beim Einfügen der FormatConditions eine andere Zelle als Z11 aktiv ist, geht das schief. Deshalb ausnahmsweise mal Z11.Select.
Gruß
Rudi
AW: @Reinhard: Vorsicht!
01.02.2012 11:04:22
Reinhard
Hallo Rudi,
weia, wie soll man denn da draufkommen :-(
Sicher, ich habe nicht getestet, aber sowas kann auch leicht beim Testen durchflutschen *glaub*
Danke dir Rudi.
Gruß
Reinhard
DANKE ... ich war schon am Verzweifeln!
01.02.2012 11:13:14
Matthias
Hallo Rudi
Danke für die Info.
Ich hatte immer und immer wieder getestet und alle Zellen wurden bei mir jedesmal Rot
Ich hatte auch Select rausgenommen.
Naja, wie man immer so schön liest
Man kann zu 99,9 Prozent auf Select verzichten - aber eben nicht zu 100 Prozent.
Gruß Matthias
Anzeige
Bitte
01.02.2012 11:24:19
Rudi
Hallo,
wenn die zu formatierende Zelle nicht auf dem aktiven Blatt liegt, kann man sie auch erst mal kopieren und die Formate einfügen. Dann wird sie aktiv. Geht also auch ohne Select.
With Tabelle1.Range("Z11:Z58")
.Copy
.PasteSpecial xlPasteFormats
.FormatConditions.Delete
End With
Gruß
Rudi
AW: Makro zu langsam
01.02.2012 10:42:59
Rudi
Hallo,
das sollte eigentlich reichen:
Private Sub Text_in_Zahl_und_BedFormat_Spalte_AV_bzw_Z_TempTau_an()
'AV11=WECHSELN(LINKS(Z11;FINDEN("/";Z11)-1);"M";"-";1)-WECHSELN(TEIL(Z11;VERWEIS(9^9;FINDEN("/ _
"; _
Z11;ZEILE(Z:Z)))+1;99);"M";"-";1)
Application.ScreenUpdating = False
With Range("AV11")
.NumberFormat = "General"
.FormulaR1C1 = "=SUBSTITUTE(LEFT(RC[-22],FIND(""/"",RC[-22])-1),""M"",""-"",1)" _
& "-SUBSTITUTE(MID(RC[-22], LOOKUP(9^9,FIND(""/"",RC[-22],ROW(C[-22])))+1,99),""M"",""-"", _
1)"
.AutoFill Destination:=Range("AV11:AV58"), Type:=xlFillDefault
End With
'Jetzt von Hilfs Zelle AV nach Z übertragen
'Mache die erste Bed Format
Range("Z11").Select
With Range("Z11")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=AV11

Gruß
Rudi
Anzeige
AW: Makro zu langsam
01.02.2012 10:49:15
mehmet
Hallo Rudi,
Dank dir
macht auch was es soll und ist schnell dabei
Ihr seid echt super
Gruss
mehmet

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige