Anzeige
Archiv - Navigation
432to436
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
432to436
432to436
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Verbesserungspotential?

Verbesserungspotential?
30.05.2004 20:20:25
thomas
Hallo Leute,
nachfolgend ein selbstgemachtes Riesenmakro vom Newbie thomas. Habe schon ein paar heisse Tipps zur Verbesserung eingebaut. Momentan brauch die Ausführung noch 21 Sekunden. Hat jemand noch Tipps wie's noch schneller geht? Die mühsame Handarbeit um die Tipps einzubauen kann ich dann selbst machen.
Besten Dank!
thomas
Private Sub CheckBox2_Click() If CheckBox2.Value = True Then Sheets("Start").ComboBox1.ListIndex = 3 'damit, egal was User wählt, für Bsp 4 Szen und 3 Prod. gewählt werden Sheets("Start").ComboBox2.ListIndex = 1 Application.ScreenUpdating = False Dim ws As Worksheet If Sheets("Start").OptionButton4 = True And Sheets("Start").OptionButton6 = True Then Set ws = Sheets("Beispieldaten") With Sheets("Erfolgssens.-Analyse BM") 'Für BM-Blatt .Range("c10") = ws.Range("a1") .Range("c12") = ws.Range("a2") .Range("f14") = ws.Range("a3") .Range("h14") = ws.Range("a4") .Range("f16") = ws.Range("b3") .Range("h16") = ws.Range("b4") .Range("c68") = ws.Range("a20") .Range("c101") = ws.Range("a20") .Range("c134") = ws.Range("a20") .Range("f72") = ws.Range("a23") .Range("f105") = ws.Range("a24") ws.Range("a5:g6").Copy .Range("f47:l48").PasteSpecial Paste:=xlPasteValues .Range("f80:l81").PasteSpecial Paste:=xlPasteValues .Range("f113:l114").PasteSpecial Paste:=xlPasteValues ws.Range("a7:a12").Copy .Range("c52:c57").PasteSpecial Paste:=xlPasteValues .Range("c85:c90").PasteSpecial Paste:=xlPasteValues .Range("c118:c123").PasteSpecial Paste:=xlPasteValues ws.Range("a13:a19").Copy .Range("c60:c66").PasteSpecial Paste:=xlPasteValues .Range("c93:c99").PasteSpecial Paste:=xlPasteValues .Range("c126:c132").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End With End If If Sheets("Start").OptionButton4 = True And Sheets("Start").OptionButton7 = True Then Set ws = Sheets("Beispieldaten") With Sheets("Erfolgssens.-Analyse BW") 'Für BM-Blatt .Range("d10") = ws.Range("a26") .Range("d14") = ws.Range("a27") .Range("d16") = ws.Range("a28") .Range("d18") = ws.Range("a29") .Range("d20") = ws.Range("a30") .Range("d63") = ws.Range("a45") .Range("d91") = ws.Range("a45") .Range("d119") = ws.Range("a45") .Range("d67") = ws.Range("a48") .Range("d95") = ws.Range("a49") ws.Range("a31:g31").Copy .Range("d45:j45").PasteSpecial Paste:=xlPasteValues .Range("d73:j73").PasteSpecial Paste:=xlPasteValues .Range("d101:j101").PasteSpecial Paste:=xlPasteValues ws.Range("a32:a37").Copy .Range("d47:d52").PasteSpecial Paste:=xlPasteValues .Range("d75:d80").PasteSpecial Paste:=xlPasteValues .Range("d103:d108").PasteSpecial Paste:=xlPasteValues ws.Range("a38:a44").Copy .Range("d55:d61").PasteSpecial Paste:=xlPasteValues .Range("d83:d89").PasteSpecial Paste:=xlPasteValues .Range("d111:d117").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End With End If If Sheets("Start").OptionButton5 = True And Sheets("Start").OptionButton6 = True Then Set ws = Sheets("Beispieldaten") With Sheets("Erfolgssens.-Analyse BSM") 'Für BM-Blatt .Range("aa78") = ws.Range("a81") .Range("aa131") = ws.Range("a81") .Range("aa184") = ws.Range("a81") .Range("aa88") = ws.Range("a87") .Range("aa141") = ws.Range("a87") .Range("aa194") = ws.Range("a87") .Range("aa92") = ws.Range("a48") .Range("aa145") = ws.Range("a49") ws.Range("a51:e67").Copy .Range("c12:g28").PasteSpecial Paste:=xlPasteValues ws.Range("a68:e74").Copy .Range("c52:g58").PasteSpecial Paste:=xlPasteValues .Range("c105:g111").PasteSpecial Paste:=xlPasteValues .Range("c158:g164").PasteSpecial Paste:=xlPasteValues ws.Range("a75:e80").Copy .Range("c77:g82").PasteSpecial Paste:=xlPasteValues .Range("c130:g135").PasteSpecial Paste:=xlPasteValues .Range("c183:g188").PasteSpecial Paste:=xlPasteValues ws.Range("a82:a83").Copy .Range("aa80:aa81").PasteSpecial Paste:=xlPasteValues .Range("aa133:aa134").PasteSpecial Paste:=xlPasteValues .Range("aa186:aa187").PasteSpecial Paste:=xlPasteValues ws.Range("a84:a86").Copy .Range("aa83:aa85").PasteSpecial Paste:=xlPasteValues .Range("aa136:aa138").PasteSpecial Paste:=xlPasteValues .Range("aa189:aa191").PasteSpecial Paste:=xlPasteValues ws.Range("f68:j69").Copy .Range("af52:aj53").PasteSpecial Paste:=xlPasteValues .Range("af105:aj106").PasteSpecial Paste:=xlPasteValues .Range("af158:aj159").PasteSpecial Paste:=xlPasteValues ws.Range("k68:o69").Copy .Range("bi52:bm53").PasteSpecial Paste:=xlPasteValues .Range("bi105:bm106").PasteSpecial Paste:=xlPasteValues .Range("bi158:bm159").PasteSpecial Paste:=xlPasteValues ws.Range("p68:t69").Copy .Range("cl52:cp53").PasteSpecial Paste:=xlPasteValues .Range("cl105:cp106").PasteSpecial Paste:=xlPasteValues .Range("cl158:cp159").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End With End If If Sheets("Start").OptionButton5 = True And Sheets("Start").OptionButton7 = True Then Set ws = Sheets("Beispieldaten") With Sheets("Erfolgssens.-Analyse BSW") 'Für BM-Blatt .Range("aa62") = ws.Range("a110") .Range("aa99") = ws.Range("a110") .Range("aa136") = ws.Range("a110") .Range("aa72") = ws.Range("a116") .Range("aa109") = ws.Range("a116") .Range("aa146") = ws.Range("a116") .Range("aa76") = ws.Range("a97") .Range("aa113") = ws.Range("a99") ws.Range("a89:e99").Copy .Range("c13:g23").PasteSpecial Paste:=xlPasteValues ws.Range("a100:e106").Copy .Range("c48:g54").PasteSpecial Paste:=xlPasteValues .Range("c85:g91").PasteSpecial Paste:=xlPasteValues .Range("c122:g128").PasteSpecial Paste:=xlPasteValues ws.Range("a107:e109").Copy .Range("c61:g63").PasteSpecial Paste:=xlPasteValues .Range("c98:g100").PasteSpecial Paste:=xlPasteValues .Range("c135:g137").PasteSpecial Paste:=xlPasteValues ws.Range("a111:a112").Copy .Range("aa64:aa65").PasteSpecial Paste:=xlPasteValues .Range("aa101:aa102").PasteSpecial Paste:=xlPasteValues .Range("aa138:aa139").PasteSpecial Paste:=xlPasteValues ws.Range("a113:a115").Copy .Range("aa67:aa69").PasteSpecial Paste:=xlPasteValues .Range("aa104:aa106").PasteSpecial Paste:=xlPasteValues .Range("aa141:aa143").PasteSpecial Paste:=xlPasteValues ws.Range("f102:j102").Copy .Range("af50:aj50").PasteSpecial Paste:=xlPasteValues .Range("af87:aj87").PasteSpecial Paste:=xlPasteValues .Range("af124:aj124").PasteSpecial Paste:=xlPasteValues ws.Range("k102:o102").Copy .Range("bi50:bm50").PasteSpecial Paste:=xlPasteValues .Range("bi87:bm87").PasteSpecial Paste:=xlPasteValues .Range("bi124:bm124").PasteSpecial Paste:=xlPasteValues ws.Range("p102:t102").Copy .Range("cl50:cp50").PasteSpecial Paste:=xlPasteValues .Range("cl87:cp87").PasteSpecial Paste:=xlPasteValues .Range("cl124:cp124").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End With End If Else If Sheets("Start").OptionButton4 = True And Sheets("Start").OptionButton6 = True Then With Sheets("Erfolgssens.-Analyse BM") 'Für BM-Blatt .Range("c10, c12, f14, h14, f16, h16, c68, c101, c134, f72, f105").ClearContents .Range("f47:l48, f80:l81, f113:l114, c52:c57, c85:c90, c118:c123, c60:c66, c93:c99, c126:c132").ClearContents End With End If If Sheets("Start").OptionButton4 = True And Sheets("Start").OptionButton7 = True Then With Sheets("Erfolgssens.-Analyse BW") 'Für BM-Blatt .Range("d10, d14, d16, d18, d20, d63, d91, d119, d67, d95").ClearContents .Range("d45:j45, d73:j73, d101:j101, d47:d52, d75:d80, d103:d108, d55:d61, d83:d89, d111:d117").ClearContents End With End If If Sheets("Start").OptionButton5 = True And Sheets("Start").OptionButton6 = True Then With Sheets("Erfolgssens.-Analyse BSM") 'Für BM-Blatt .Range("aa78, aa131, aa184, aa88, aa141, aa194, aa92, aa145").ClearContents .Range("c12:g28,c52:g58,c105:g111,c158:g164,c77:g82,c130:g135,c183:g188").ClearContents .Range("aa80:aa81,aa133:aa134,aa186:aa187,aa83:aa85,aa136:aa138,aa189:aa191").ClearContents .Range("af52:aj53,af105:aj106,af158:aj159,bi52:bm53,bi105:bm106,bi158:bm159,cl52:cp53,cl105:cp106,cl158:cp159").ClearContents End With End If If Sheets("Start").OptionButton5 = True And Sheets("Start").OptionButton7 = True Then With Sheets("Erfolgssens.-Analyse BSW") 'Für BM-Blatt .Range("aa62,aa99,aa136,aa72,aa109,aa146,aa76,aa113,c13:g23,c48:g54,c85:g91,c122:g128,c61:g63,c98:g100,c135:g137").ClearContents .Range("aa64:aa65,aa101:aa102,aa138:aa139,aa67:aa69,aa104:aa106,aa141:aa143,af50:aj50,af87:aj87,af124:aj124").ClearContents .Range("bi50:bm50,bi87:bm87,bi124:bm124,cl50:cp50,cl87:cp87,cl124:cp124").ClearContents End With End If End If Application.ScreenUpdating = True End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verbesserungspotential?
Ulf
Setzt am Anfang die Berechnung auf manuell und die Events auf false und
am Ende wieder zurück.
Ulf
AW: Verbesserungspotential?
30.05.2004 22:07:36
Josef
Hallo Thomas!
Viel wird's wohl nicht bringen, aber probieren kannst du ja mal.
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
'.....
'deine Anweisungen
'.....
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With

Gruß Sepp
Anzeige
Vielen Dank an Ulf und Josef! o.T.
31.05.2004 20:51:52
thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige