Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Makro Geschwindigkeit verbessern |
11.06.2016 10:33:22 |
Björn |
|
|
|
11.06.2016 11:35:21 |
Lukas |
|
|
|
11.06.2016 11:48:52 |
Gast89287 |
|
|
|
11.06.2016 12:08:24 |
Björn |
|
|
|
11.06.2016 15:29:13 |
Gast16948 |
|
|
|
11.06.2016 18:53:06 |
Björn |
|
|
|
11.06.2016 19:13:09 |
Gast21949 |
|
|
|
12.06.2016 10:16:45 |
Björn |
|
|
|
12.06.2016 10:41:01 |
Björn |
|
|
|
12.06.2016 12:06:56 |
Gast11427 |
|
|
|
12.06.2016 12:14:28 |
Björn |
|
|
|
12.06.2016 12:35:43 |
Gast23786 |
|
|
Von:
Björn |
Datum:
11.06.2016 10:33:22 |
Views:
1617 |
Rating:
|
Antwort:
|
Thema:
Makro Geschwindigkeit verbessern |
Guten Tag an das Forum,
ich habe ein Makro erstellt (siehe unten) das Funktioniert auch ganz gut.
Allerdings ist es sehr langsam, bei einer Übergabe von 5000 Zeilen benötigt es ca. 40 Minuten.
Meine Frage kann man das Beschleunigen oder habe ich hier ein Fehler drin?
Sub Übergabe_Kalku()
Application.EnableEvents = False 'Bildschirm abschalten
' Übergibt die Werte der Ausarbeitung an die Kalkulation
On Error Resume Next 'Fehler beim Auftreten unterdrücken und das Makro weiterlaufen lassen
Worksheets("Ausarbeitung").Unprotect Password:="xxx" 'Blattschutz AUS
Worksheets("Kalkulation").Unprotect Password:="xxx" 'Blattschutz AUS
Dim lr As ListRow
Dim lo1 As ListObject
Dim lo2 As ListObject
Dim zMax1 As Long
Dim zMax2 As Long
Dim diff As Long
Dim i As Long
Set lo1 = Worksheets("Ausarbeitung").ListObjects("Tab_Ausarbeitung")
Set lo2 = Worksheets("Kalkulation").ListObjects("Tab_Kalkulation")
zMax1 = lo1.ListRows.Count
zMax2 = lo2.ListRows.Count
diff = zMax1 - zMax2
If diff > 0 Then
For i = 1 To diff
Set lr = lo2.ListRows.Add
Next i
ElseIf diff < 0 Then
For i = zMax2 To zMax2 + diff Step -1
lo2.ListRows(i).Delete
Next i
End If
Range("Tab_Kalkulation[Pos.]").Value = Range("Tab_Ausarbeitung[Pos.]").Value
Range("Tab_Kalkulation[KD Text 1]").Value = Range("Tab_Ausarbeitung[KD Text 1]").Value
Range("Tab_Kalkulation[Lieferant]").Value = Range("Tab_Ausarbeitung[Lieferant]").Value
Range("Tab_Kalkulation[Sonepar-Nr.]").Value = Range("Tab_Ausarbeitung[Sonepar-Nr.]").Value
Range("Tab_Kalkulation[Artikeltext]").Value = Range("Tab_Ausarbeitung[Artikeltext]").Value
Range("Tab_Kalkulation[Hersteller Artikel-Nr.]").Value = Range("Tab_Ausarbeitung[Hersteller Artikel-Nr.]").Value
Range("Tab_Kalkulation[Menge]").Value = Range("Tab_Ausarbeitung[Menge]").Value
Range("Tab_Kalkulation[PE]").Value = Range("Tab_Ausarbeitung[PE]").Value
Range("Tab_Kalkulation[ME]").Value = Range("Tab_Ausarbeitung[ME]").Value
Worksheets("Ausarbeitung").Protect Password:="xxx" 'Blattschutz EIN
Worksheets("Kalkulation").Protect Password:="xxx" 'Blattschutz EIN
Application.EnableEvents = True ' Bildschierm einschalten
End Sub
Ich würde mich freuen wenn mir jemand Hefen könnte, meine Erfahrungen mit VBA sind da nicht ausreichend.
Vielen Dank in voraus.
Björn
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Makro Geschwindigkeit verbessern |
11.06.2016 10:33:22 |
Björn |
|
|
|
11.06.2016 11:35:21 |
Lukas |
|
|
|
11.06.2016 11:48:52 |
Gast89287 |
|
|
|
11.06.2016 12:08:24 |
Björn |
|
|
|
11.06.2016 15:29:13 |
Gast16948 |
|
|
|
11.06.2016 18:53:06 |
Björn |
|
|
|
11.06.2016 19:13:09 |
Gast21949 |
|
|
|
12.06.2016 10:16:45 |
Björn |
|
|
|
12.06.2016 10:41:01 |
Björn |
|
|
|
12.06.2016 12:06:56 |
Gast11427 |
|
|
|
12.06.2016 12:14:28 |
Björn |
|
|
|
12.06.2016 12:35:43 |
Gast23786 |
|
|