Hier erhalten Sie regelmäßig nützliche Tipps und Tricks zur Verwendung und Programmierung von Microsoft® Excel®. Wir freuen uns auf Ihre Kommentare.
Neben der Zweckerfüllung und Richtigkeit von Berechnungen, stellt Performance eine der wichtigsten Anforderungen an ein Excel-VBA-Makro dar. Häufig lässt sich aber gerade in diesem Bereich einiges optimieren.
Dieser Excel-Tipp ist für alle Entwickler gedacht, die performante Lösungen benötigen (z.B. weil sie größere Datenmengen in ein Arbeitsblatt schreiben müssen). Einigen Entwicklern sind die folgende Problematik und deren Lösung sicherlich bereits bekannt. Anderen wiederum möglicherweise nicht, oder zumindest nicht bewusst. Daher soll an dieser Stelle etwas genauer darauf eingegangen werden. Sicherlich finden sich damit die einen oder anderen Möglichkeiten, die eigenen Makros zu optimieren und vor allem zu beschleunigen.
Dieser Excel-VBA-Tipp richtet sich an Anwender/Entwickler, die bereits fortgeschrittene Kenntnisse in der Programmierung unter VBA besitzen.
Häufig tritt der Fall auf, dass Datensätze unbekannter Anzahl erzeugt bzw. eingelesen,
weiterverarbeitet und aufgelistet werden müssen. Für die unterschiedlichen Daten existieren jedoch auch gleichzeitig unterschiedliche Formate wie Text, Datum, Prozent, Währung usw.
Nun gibt es mehrere Möglichkeiten diese Vorformatierungen auf den Zielbereich – also den
Bereich in den schließlich die Daten geschrieben werden zu übertragen. Ein Beispiel dafür ist im folgenden Code-Schnipsel dargestellt.
Hier ein kleiner Tipp für Excel-Begeisterte, die noch nicht so häufig unter VBA programmiert haben.
Vielen Excel-Anwendern sind die sogenannten Bereichsnamen (engl. „Named Ranges“) nicht bekannt. Oft kommt es vor, dass die Arbeitsmappe wunderbar strukturiert wurde. Die Designs wurden gesetzt. Chef und Mitarbeiter sind begeistert, wie toll das doch alles aussieht. Und dann noch die selbst erstellten VBA-Makros, die das Ganze zu einem perfekten Unterstützungstool machen.
Aber ein paar Kleinigkeiten wären noch nett. „Könnten wir hier nicht noch eine Spalte für die netto Kosten einfügen?“. „Dieser Eingabebereich sollte vielleicht erst im nächsten Block sitzen“ und und und…