Mach deinen Code 10x schneller
✓ Download der Daten:
https://docs.microsoft.com/de-de/power-bi/create-reports/sample-financial-download
✓ Arrays (dimensionieren, redimensionieren)
✓ Timer nutzen, um Codezeit zu messen
✓ CurrentRegion
✓ Range-Objekt
✓ For-Next Schleife
✓ Variablen und Datentypen
✓ Datenmanipulationen
✓ Direktbereich
✓ Range zu Array
✓ Array zu Range
✓ Haltepunkte
✓ Code Schritt-für-Schritt mit F8 durchgehen
✓ Lokalfenster
✓ Resize-Eigenschaft
https://docs.microsoft.com/de-de/power-bi/create-reports/sample-financial-download
✓ Arrays (dimensionieren, redimensionieren)
✓ Timer nutzen, um Codezeit zu messen
✓ CurrentRegion
✓ Range-Objekt
✓ For-Next Schleife
✓ Variablen und Datentypen
✓ Datenmanipulationen
✓ Direktbereich
✓ Range zu Array
✓ Array zu Range
✓ Haltepunkte
✓ Code Schritt-für-Schritt mit F8 durchgehen
✓ Lokalfenster
✓ Resize-Eigenschaft
Code
Sub Mit_Range() Dim rngData As Range Dim i As Long Dim Start 'Start des Timers Start = Timer 'Daten-Range setzen Set rngData = Tabelle1.Range("A1").CurrentRegion 'For-Next Schleife über alle Zeilen For i = 2 To rngData.Rows.Count 'Datenmanipulationen rngData.Cells(i, 5) = rngData.Cells(i, 5) + 10 rngData.Cells(i, 6) = rngData.Cells(i, 6) + 10 rngData.Cells(i, 7) = rngData.Cells(i, 7) + 10 rngData.Cells(i, 8) = rngData.Cells(i, 8) + 10 rngData.Cells(i, 10) = rngData.Cells(i, 10) + 10 rngData.Cells(i, 11) = rngData.Cells(i, 11) + 10 Next i 'Timer Ausgabe Debug.Print "Range-Timer: " & Timer - Start 'Bereitgestellt von VBATrainer: www.vbatrainer.de End Sub
Sub Mit_Array() Dim rngData As Range Dim i As Long Dim Start Dim arr As Variant 'Start des Timers Start = Timer 'Daten-Range setzen Set rngData = Tabelle1.Range("A1").CurrentRegion 'Array dimensionieren und füllen ReDim arr(1 To rngData.Rows.Count, 1 To rngData.Columns.Count) arr = rngData.Value 'For-Next Schleife über alle Zeilen For i = 2 To UBound(arr, 1) 'Datenmanipulationen arr(i, 5) = arr(i, 5) + 10 arr(i, 6) = arr(i, 6) + 10 arr(i, 7) = arr(i, 7) + 10 arr(i, 8) = arr(i, 8) + 10 arr(i, 10) = arr(i, 10) + 10 arr(i, 11) = arr(i, 11) + 10 Next i 'Array auf die Excel-Oberfläche schreiben Tabelle1.Range("R1").Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr 'Timer Ausgabe Debug.Print "Array-Timer: " & Timer - Start 'Bereitgestellt von VBATrainer: www.vbatrainer.de End Sub