Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitproblem bei Zellenübertrag
12.07.2021 10:31:05 Sandra2308
Solved
12.07.2021 10:57:00 Gast90713
Solved
12.07.2021 12:07:25 Sandra2308
NotSolved

Ansicht des Beitrags:
Von:
Sandra2308
Datum:
12.07.2021 10:31:05
Views:
498
Rating: Antwort:
 Nein
Thema:
Laufzeitproblem bei Zellenübertrag

Hallo zusammen!

Ich möchte via VBA bestimmte Werte von einem Tabellenblatt in das nächste übertragen. Genauer gesagt habe ich eine Liste mit Zeitstempeln, bei der die Zeitstempel mehr als ein Mal vorkommen und nicht durchgängig sind:

Zeitstempel
1
1
4
4
4
7
7

Im nächsten Tabellenblatt hätte ich gerne alle "existierenden" Zeitstempel nur ein Mal:

Zeitstempel
1
4
7

Dazu nutze ich gerade folgenden Code:


Public Sub TimeStamp()
    'Deklariere alle Variablen
    Dim i As Integer
    i = 2
    Dim j As Integer
    j = 3
    Dim n As Integer
    n = 1
    Dim k As Integer
    Dim l As Integer

    'Schleife, um Werte bei Veränderung in nächstes Tabellenblatt zu übertragen
    'j ist eine Zelle unter i, um Veränderung abprüfen zu können
    '"raw_data" ist Quellen-, "data" ist Ziel-Tabellenblatt
    Do
        'in Spalte 8 sind die Zeitstempel in der Quelle
        k = ActiveWorkbook.Worksheets("raw_data").Cells(i, 8).Value
        l = ActiveWorkbook.Worksheets("raw_data").Cells(j, 8).Value
        If k <> l Then
            n = n + 1
            'übertrage in Zieldatei
            ActiveWorkbook.Worksheets("data").Cells(n, 1).Value = k
        End If
        i = i + 1
        j = j + 1
    Loop Until IsEmpty(ActiveWorkbook.Worksheets("raw_data").Cells(i, 1))

End Sub

Der Code funktioniert an sich und tut was er soll. Allerdings haben die Quelltabellen locker mal bis zu 7000 Zeilen und dann läuft der Code so lang, dass mir das in dieser Zeit konsumierte Koffein gar nicht mehr gut tut. Zum Beispiel: In einer Tabelle mit ~5800 Zeilen im Quellblatt und ~2250 übertragenen Zeitstempeln 18 Minuten auf >95% CPU.

Daher jetzt meine Frage(n): Liegt das an meinem Code? Gibt es eine Möglichkeit, ihn besser zu schreiben? Oder liegt es an meinem PC?

Hier noch die entsprechenden Spezifikationen:

  • Windows 10
  • Office365
  • Prozessor: Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz  2.81 GHz
  • RAM: 16,0 GB (15,9 GB verwendbar))

Vielen Dank schon mal im Voraus!

Sandra


Ihre Antwort
  • 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: Name: Email:



  • 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
Rot Laufzeitproblem bei Zellenübertrag
12.07.2021 10:31:05 Sandra2308
Solved
12.07.2021 10:57:00 Gast90713
Solved
12.07.2021 12:07:25 Sandra2308
NotSolved