Thema Datum  Von Nutzer Rating
Antwort
Rot Geschwindigkeit des VBA-Makros erhöhen
09.05.2022 21:54:52 Tom
NotSolved
10.05.2022 00:53:25 Gast63673
NotSolved
10.05.2022 00:57:26 Gast63673
NotSolved
10.05.2022 11:55:05 Gast4188
NotSolved
10.05.2022 19:01:58 Gast01287
NotSolved

Ansicht des Beitrags:
Von:
Tom
Datum:
09.05.2022 21:54:52
Views:
177
Rating: Antwort:
  Ja
Thema:
Geschwindigkeit des VBA-Makros erhöhen

Hallo,

folgenden Code habe ich geschrieben. Er funktioniert und läuft folgendermaßen ab:

- Öffne alle Excel-Dateien in einem Zielordner nacheinander

- Schau bei jeder Excel-Datei den genutzten Bereich durch

- Formatiere "Date" um und Formatiere "Time" um (sodass die Schreibweise dieselbe bleibt, es jedoch als Text formatiert ist)

- Speichere die Excel und gehe zur nächsten

Private Sub TEST()

    Dim Source As String
    Dim StrFile As String

    'do not forget last backslash in source directory.
    Source = "C:\Users\xxx\"
    StrFile = Dir(Source)

    Do While Len(StrFile) > 0
        Workbooks.Open Filename:=Source & StrFile
        
        
        Dim A As Excel.Range
        Dim B As Boolean
        
        For Each A In ActiveCell.CurrentRegion.Cells
        
        ' Suche nach Datum (Format: Date)
            If IsDate(A) Then
                A.Value = "'" & Replace(Format(A, "YYYY/MM/DD"), "/", "")
                A.NumberFormat = "@"
            End If
        
        'Suche Nach Uhrzeit (Format: Time)
            If CBool((A.Text Like "??:??:??") * (A.Value < 1)) = True Then
                A.Value = "'" & Replace(Format(A, "hh:nn:ss"), ":", "")
                A.NumberFormat = "@"
            End If
          
        Next

        Workbooks(StrFile).Close SaveChanges:=True
        
        StrFile = Dir()
    Loop

End Sub

Der Code funtioniert wunderbar, jedoch ist er nicht so performant und benötigt relativ lange. Hat jemand eine bessere Idee bzw. Verbesserungsvorschläge um die Geschwindigkeit zu erhöhen?

VG 

Tom


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 Geschwindigkeit des VBA-Makros erhöhen
09.05.2022 21:54:52 Tom
NotSolved
10.05.2022 00:53:25 Gast63673
NotSolved
10.05.2022 00:57:26 Gast63673
NotSolved
10.05.2022 11:55:05 Gast4188
NotSolved
10.05.2022 19:01:58 Gast01287
NotSolved