Clever-Excel-Forum

Normale Version: Makro beschleunigen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich bin nicht der experte mit Makros, ich nütze viel die Aufzeichnungsfunktion.. mittlerweile weiß ich aber das z.B. "Select" nicht die schnellste art ist - jedoch bekomme ich es nicht hin das umschreiben das ich alle möglichen Verkürzungen hin bekomme. 

zu meiner Excel - ich habe insgesamt 15 Combiboxen

Wenn ich bei CombiBox 1 eine Änderung vornehme, kopiert er von diversen Datenbank sheets spalten - filter diese und gibt diese dann in einen Bereich für die restlichen Combiboxen "frei".

Das ComiBox1 Change makro lautet wie folgt
Code:
Sub Update_Parameter()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False

Call Update_HG_Text_T_01
Call Update_HG_Text_T_02
Call Update_HG_Text_T_03
Call Update_HG_Text_T_04
Call Update_HG_Text_E_01
Call Update_HG_Text_E_02
Call Update_HG_Text_E_03
Call Update_HG_Text_E_04
Call Update_HG_Text_E_05
Call Update_HG_Text_E_06
Call Update_HG_Text_E_07
Call Update_HG_Text_E_08

Application.DisplayStatusBar = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub


die Call Makros sind im Grunde alle gleich aufgebaut nur mit anderen Daten und anderen Sheets dahinter
Code:
Sub Update_HG_Text_T_01()
   
   Sheets("Datenbank_Text_T").Select
   Columns("B:E").Copy
   Sheets("Filter_HG_Text_T-01").Visible = xlSheetVisible
   Sheets("Filter_HG_Text_T-01").Activate
   Range("A1").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Range("E1").Select
   ActiveCell.FormulaR1C1 = "=Generator!R[4]C[-3]"
   Columns("G:G").Select
   Selection.ClearContents
   Columns("B:B").Select
   Selection.Copy
   Range("G1").Select
   ActiveSheet.Paste
   Application.CutCopyMode = False
   ActiveSheet.ShowAllData
   Range("G1").Select
   Selection.Delete Shift:=xlUp
   Sheets("Generator").Select
   
End Sub

um diese 12 Makros abzurufen dauert es seine Zeit - aber vl könnt ihr mir helfen :) 

Vielen Dank im Voraus.
Hallo,

vielleicht so:
Sub Update_HG_Text_T_01()
With Sheets("Filter_HG_Text_T-01")
Sheets("Datenbank_Text_T").Columns("B:E").Copy .Range("A1")
.Range("E1").FormulaR1C1 = "=Generator!R[4]C[-3]"
.Columns("G:G") = ""
.Columns("B:B").Copy .Range("G1")
.ShowAllData
.Range("G1").Delete Shift:=xlUp
End With
End Sub
Gruß Uwe
Vielen Herzlichen Dank :) 

Hat prima funktioniert! 

DANKE!

Weißt du eventuell noch wie ich in einer CombiBox mit Dropdown das Scrolln aktivieren kann? Es wird dann immer die Tabelle gescrollt :/
Ich vermute mal, du meinst ein Dropdown in der Zelle, welches du über Datenüberprüfung - Gültigkeit erstellt hast. Da ist das Scrollen mit der Maus nicht möglich. Meines Wissens ist es aber auch in Userforms nicht ohne weiteres zu bewerkstelligen. Du wirst dich damit abfinden müssen.