Kategorie: VBA Excel
-
PHP csv Datei mit Umlauten erstellen für Excel
Um eine csv-Datei zu erstellen, in der die Umlaute richtig kodiert sind, muss man in seinem Projekt, welches im Normalfall UTF-8 kodiert ist, die Umlaute nach UTF-16LE kodieren. Diese Kodierung kann von Windows und Mac angezeigt werden. $file = fopen(‚file.csv‘, ‚w‘); foreach ($rows as $row) { $row = array_map(function($cell){ return mb_convert_encoding($cell, ‚UTF-16LE‘, ‚UTF-8‘); }, $row);…
-
MS Excel: Fehler beim Kompilieren Projekt oder Bibliothek nicht gefunden
Die Fehlermeldung „Fehler beim Kompilieren Projekt oder Bibliothek nicht gefunden“ hatte ich heute, sie war an einer Stelle, an der eine Variable nicht vorher mit Dim initialisiert worden waren. Dort stoppte die Ausführung bei meinem Excel für MAC mit der Fehlermeldung: Fehler beim Kompilieren Projekt oder Bibliothek nicht gefunden Die Ursache war tatsächlich, dass eine…
-
VBA On Dropdown Change Event Aktion ausführen
Wenn man auf das Ändern eines Dropdowns oder einer Zelle/Range reagieren will und eine andere Aktion ausführen will, dann kann man dies mittels des Worksheet_Change Events und am besten mittels eines benamten Bereiches /Ranges: Private Sub Worksheet_Change(ByVal Target As Range) Dim checkTarget As Range Set checkTarget = Application.Intersect(Target, Range(„my_named_range“)) If checkTarget Is…
-
VBA Fehler beim Kompilieren: Ungültiges Zeichen
Ich habe beim Makro scheiben mit dem Mac einen Fehler bekommen, den ich nicht beheben konnte, weil dieser nicht am Code lag: Fehler beim Kompilieren: Ungültiges Zeichen Die Lösung war, den „fehlerhaften“ Code nochmals abzutippen, dann ging es. Meine Erklärung ist, das ein im Editor nicht angezeites Zeichen mit in den Code gekommen ist.
-
VBA Regex Lite mit Like
Native in VBA sind Regex leider nicht möglich, sondern nur über eine ActiveX Bibliothek erhätlich. Wenn man auch für Mac programmieren will, kommt dies nicht in Frage. Statt dessen kann man den Regex Lite befehl „Like“ benutzen, mit dem ähnliche abegspeckte Operationen machen kann. Bsp. success = text Like „T-#########-#“ ‚matches: ‚T-123456789-1 success = text…
-
Wozu MS Excel Markos digital signieren lassen?
Man kann Makros nach der Programmierung digital signieren lassen von einer CA-Authority, z.B. thawte. Damit lässt sich der folgende Dialog beim Öffnen der Excel Mappe unter Umständen verhindern: Diese Sicherheitsabfrage hat den Zweck den PC vor Angriffen mit bösartigen Excel und Word Dokumenten zu schützen, die gern im Anhang von Spam Mails verschickt werden. Vorteile…
-
VBA Excel Key-Value Store Cache mit Dictionary
Um die Performance von langlaufenden Berechnungen mit MS Excel zu erhöhen, habe ich für eine immer wiederkehrende Berechnung einen rudimentären Key-Value Cache eingebaut mit Hilfe eines Dictionary Objektes. Eine Dictionary Objekt in VBA ist ein Object aus der Microsoft Scripting Library, die dafür in das Projekt eingebunden muss über: Visual Basic Editor in Excel öffnen…
-
VBA Excel: Mouse Pointer über eine Zelle als aktiv markieren
Leider gibt es keine Möglichkeit über VBA sich an einen Event zu registrieren, wenn der Mouse Pointer über einer Zelle ist. Die einzige Möglichkeit dies zu umgehen, ist ein Makro auf ein Bild/Button in einer Zelle zu legen, was dann ausgeführt wird. Wenn einer Zelle ein Makro zugeordnet ist, wird der Mouse Pointer automatisch aktiv…
-
Der Excel Markos Speed Up Guide
Wenn Excel Makros langsam laufen, weil sie immer komplexeren Anforderungen genügen müssen, kann man folgende Tricks anwenden, um eine schnellere Laufzeit zu ermöglichen: VBA Tipps Einfaches Caching einbauen siehe Beitrag VBA Excel Key-Value Store Cache mit Dictionary Einfaches Profiling um Engpässe in der Applikation zu finden Die Laufzeit bestimmter Berechnungen lässt sich bestimmen, indem man…
-
VBA Excel Konfigurator: Berechnung aller möglichen Kombinationen
Zum Bau eines Produktkonfigurators mit Excel benötigt man meistens eine Matrix, in der man definiert, welche Konfigurationsparameter mit welchen anderen Parametern zusammen möglich sind und welche sich in der Kombination auschließen, z.B. die Farbe weiß ist erhältlich für das iPhone 6, aber nicht für die 16GB Variante. Diese Regeln sind ser anfällig für Fehler, deshalb…