Mach deinen Code 10x schneller (Nutze Array statt Range) | Excel VBA

preview_player
Показать описание
Mach deinen Code 10x schneller (Nutze Array statt Range) | Excel VBA

________

LINKS zu den Grundlagenvideos

________

Timestamps
0:00 Ziel des Videos und Vorstellung des Endergebnis
0:45 Ausgangslage und Vorbereitungen in Excel und VBA
1:12 Prozedur mit dem VBA Datentyp Range
4:36 Timer einfügen zur Kontrolle der Makrodurchlaufsdauer
5:47 Testlauf und Ansicht im Direktfenster
6:20 Prozedur mit dem Array
8:12 Detailansicht des Arrays im Lokalfenster
10:58 Array auf Excel Oberfläche zurückschreiben
12:36 Vergleich der Durchlaufzeiten der beiden Prozeduren
Рекомендации по теме
Комментарии
Автор

Unglaublich. Man kommt sich wie ein Anfänger vor. Das muss ich erst einmal verinnerlichen und dann produktiv umsetzen! Vielen Dank für die tollen Videos!

Peter-zedj
Автор

Kai, ein absoluter Hammerbeitrag ab sofort werde ich das Arbeiten mit Array nutzen ... vielen Dank

SwissMarkus
Автор

Dankeschön! Seitdem ich deine Lernvideos für Excel VBA gefunden habe steigt meine Lernkurve steil an. Die englischsprachigen Lernvideos und Internettipps sind doch erheblich mühsamer. Jetzt kann ich meine "Jugendsünden" in meinen Makros endlich überarbeiten und professioneller gestalten. Supi

richardpanther
Автор

Ich dachte immer ich hab mich schone einigermaßen in die VBA Geschichte eingearbeitet.
Aber deine Videos zeigen mir das es noch viel zu lernen gibt... habe gleich geabot xD
Danke, super erklärt 👍

Zeta_Reticulum
Автор

Tolles Video!! Sehr informativ. Mache grad ein Fernstudium zum geprüften Programmierer und deine Videos sind eine super Ergänzung für mich zum lernen :) keep up the good work

leroix
Автор

Du hast immer eine interessante Themenauswahl und ich lerne aus deinen Tipps jedes mal was dazu. Super!

andreasrudolph
Автор

Genial einfach....einfach Genial! - Herzlichen Dank!

luckymr
Автор

Super, wie immer...herzlichen Dank für deine Mühe...

bugsbunny
Автор

Super hilfreich!! Danke für das sehr gute Video.

Froli-zeqp
Автор

Hallo Kai Super Sache :-). Kann ich auch Formatierungen über das Array verändern? z.B. die Zellenhintergrundfarbe?

ThomasBurger-tppj
Автор

Vielen Dank! Du bist ein echter VBA-Profi. Das merkt man daran, wie gut, einfach und schnell du es mit den schwierigen Arrays erklärt hast. Viele wagen dieses Wort nicht in den Mund zu nehmen. Ich habe das Gefühl gehabt, als wärst du der Excel-Entwickler. Komm gibs zu, du arbeitest bei Microsoft ;) Spaß! Also, dankeschön nochmal:)

JS-rntb
Автор

Super erklärt - Danke !
Mit (mehrspaltigen) Arrays stehe ich noch ein bisserl auf Kriegsfuß...Dein Video hat mir sehr geholfen, es besser zu verstehen

ThisIsScorefun
Автор

Hallo,
Ich hab bisher mit Arrays nur meine Listbox befüllt, und das Thema
etwas vernachlässigt. es lohnt sich wie ich sehe da etwas genauer

Wiedermal ein Super Video thx
Hier mal ein Bsp. wie ich ein Array bis jetzt nutze:

Dim intlRow as Integer,

With
intiRow = .Cells(Rows.Count,
Arr = .Range(A3:C" &

With
.ColumnCount =
.ColumnWidths =
.List =
end
end With

gerhardgrensemann
Автор

Hi - wieder ein supper Video. Mal ne Frage - Variant verbraucht ja mehr speicher als eine String. Wenn man das Array als String definiert, dann funktioniert aber die zeille arr = rngData.Value nicht mehr. Wenn man nun beides verbinden will (Schnelligkeit und Speicherbedarf) Wäre es dann ratsam mit arr-Variant = rngData.Value alles in die Variable zu laden und dann per Schleife in ein arr-String zu überspielen und zum schluss mit Erase arr-Variant die Variant wieder zu löschen und mit der arr-string weiter zu arbeiten. Oder würde das vom Speicher her nichts bringen weil die arr-Variant bereits einmal dimensioniert wurde?

PascalIttermann
Автор

Top! Hat mir extrem geholfen, vielen Dank!
Ich konnte den Range auch ohne ReDim an den Array übergeben. Einfach: Arr=Range.Value. Hat das Nachteile, wenn ich es so mache? Die Dimensionierung des Arrays war dadurch identisch und nicht etwa maximal oder deutlich grösser.

User
Автор

Hallo Kai. Super Videos :) 😌 Ist es nicht so, dass bei, vorallem grossen Arrays, von Excel viel mehr Speicher zur Verfügung gestellt bzw.reserviert werden muss?
Ich habe ein grösseres Projekt, wo möglich, alle Range Anweisungen durch Arrays ersetzt. Nun habe ich das Gefühl, dass Excel vermehrt "keine Rückmeldung" meldet.
Die einzelnen Prozeduren laufen jedoch wesentlich schneller. Danke für die Tipps.

joeberchtold
Автор

Super gut. Klar und echt hilfreich. danke

SvenSchulteHillen
Автор

Hallo, alles schön erklärt!
Aber wäre die Range -Methode nicht viel schneller, wenn man mit das Refreshen der Tabelle zur Makro-Laufzeit ausschaltet?

Автор

Vielen Dank für die Schritt für Schritt Erklärungen.
Mich würde interessieren wie ich für den Array-Bereich die Funktion Trim anwenden kann.
Ich habe regelmäßig Listen bei denen die Trim Funktion in Range ca. 5 s bis hin zu 3 Minuten dauert.

MrStefanFrick
Автор

Hallo, habe ich bei mir getestet. Leider erhalte ich in meiner Zieltabelle nicht alle Daten (Spalte A (Datum)) ist teilweise leer. Beim Array Transponieren tritt ein Fehler auf?. Die SQL Lösung finde ich interessant. Gibt es dafür noch Beispiele (Update, Delete, insert?). Ferner auch ein Video für die Arraybearbeitung? Würde diesen Ansatz gerne vervollständigen - sehr schnell. Helmut

GeniusAtWork-sf