“Excel-Tabellen gehören wahrscheinlich zu den gefährlichsten Erfindungen der letzten Jahrzehnte.” [Rolf Dobelli]
Excel VBA Eine Sammlung
Dies ist eine Sammlung von Excel VBA Programmen und auch einigen Excelformeln, die mir sinnvoll erschienen.
Hinweis: Ich habe die hier vorgestellten Programme und Formeln erfolgreich mit Excel 2024 / 365 getestet.
Inhaltsverzeichnis
Excel / VBA – Eine Sammlung 1
Abstract 2
Excel Lernpfad 2
Die Excel / VBA Programmierumgebung 10
Abstract 10
Grundlegendes 10
Variablen 10
Variablentypen 10
Scope 11
Während des Editierens 11
Während der Programmausführung 12
Breakpoints 12
Fehlerbehandlung 13
Umgebungsvariablen 14
Gute Programmierpraxis 14
Seien Sie ein guter Programmierer 14
Gutes Excel und VBA Wissen 14
Programmierkonventionen 15
Säubern Sie Makroaufzeichnungen 15
Dokumentieren Sie Ihr Programm ausreichend 15
Testen Sie Ihr Programm gut 15
Protokollieren Sie Ihre Programmausführung 15
Laufzeit Optimieren 16
Systemstatus sichern und zurückschreiben – SystemState Klasse 17
Systemstatus Variablen 17
Programmablauf dokumentieren – clsLog Klasse 20
Für und Wider 20
Parameter 21
Beispielausgabe 22
Module 22
Klassenmodule 26
Start / Stop OneDrive Synchronisierung 28
Exportiere einen Bereich als Grafik – sbExportRange2Picture 30
Bereichsnamen anzeigen – sbNamedRanges 33
Anzahl der Dimensionen eines Arrays – ArrayDim 33
Excel Version anzeigen – ApplicationVersion 34
Zellinformationen ausgeben – sbGetCell 35
Nächste Gleitkommazahl – sbNextFloat 41
Aufruf anderer Windows Programme am Beispiel sbZip 42
Excel Don’ts – Was man mit Excel besser sein lässt 44
Eine Tabelle mit Beispielen die man besser vermeidet 44
Zahlensysteme, Formate und Umwandlungen 45
Abstract 45
Umwandlungen und Berechnungen von Zahlen 45
Zahlen in Worten ausgeben – sbInWorten 45
Umwandlungen zwischen dem Dezimalsystem und dem Binärsystem 49
Feiertage ermitteln – IstFeiertag 54
Signifikante Ziffern einer Zahl – sbNSig 58
Nummer eines Monatsnamens – sbMonatsZahl 59
Die Berechnung der Kreiszahl π 62
Pi Ausgabe auf 1000 Stellen 65
Die Berechnung der Eulerschen Zahl e 66
e Ausgabe auf 1000 Stellen 67
Literatur 68
Zahlenfolge kürzer darstellen – sbParseNumSeq 68
Rationale Zahlen = Brüche 70
Ermittle die nächstliegende rationale Zahl zu einer Gleitkommazahl – sbNRN 70
Lineare Gleichungssysteme mit rationalen Koeffizienten 73
Anteilsveränderung als Bruch 76
Monatsanteil 77
Linearkombination Ganzer Zahlen 78
Erweiterter Euklidischer Algorithmus – sbEuklid 78
Uhrzeiten 80
Arbeitszeit zwischen 2 Zeitpunkten – sbTimeDiff 80
Arbeitszeit zu einem Zeitpunkt addieren – sbTimeAdd 83
Uhrzeit für eine andere Zeitzone umwandeln – ConvertTime 86
Prüfziffern 86
Berechne oder prüfe eine Europäische Artikelnummer – sbEAN 86
Ordinalzahlen (englisch) 87
Einfache Mathematik in Formeln 88
Wie man Tabellenblattformeln analysiert 88
Datumsformeln testen 89
Erster oder letzter Wochentag im Monat 91
Derselbe Wochentag und Kalenderwoche im vorigen Jahr 92
Budgetkontrolle 93
Geringste Signifikante Ziffer erhöhen 94
Linearer Breakdown 95
Füge zwei Spalten mit Blocksatz zusammen 98
Minimum Truck Load Problem 99
Nachstehende Nullen zählen 99
Minimax Interpolation 100
Rollen und Rechte 102
Rundungstricks 103
Trinkgeld Verteilung 104
Unterjährige Werte glätten 106
Zellenbasiertes Diagramm 107
Einfache VBA Programme 109
Abstract 109
Addiere Zahlen desselben Zahlenformats – sbSumMyFormat 109
Zähle Zellen mit einer bestimmten Farbe – sbCountMyColor 110
Asset Allokation für ein Portfolio – sbAllocate 111
Ausreißer Werte eliminieren – sbORB 112
Faire Verteilung eines begrenzten Budgets – sbDistBudget 114
Collatz Länge Berechnen - sbCollatz 116
Eindeutigen Rang auch bei Duplikaten vergeben – sbUniqRank 117
Eliminiere Punkte eines Graphen mit kleiner Steigungsänderung – sbReducePoints 119
Geburtstagsliste – sbBirthdayList 121
Häufigste Paare – sbMostFrequentPairs 123
Interpolieren – sbInterp 125
Erzeuge alle Kombinationen der Subsets k von n 127
Lookup Varianten 129
Minimale Anzahl von Scheinen und Münzen für einen Geldbetrag – sbMinCash 131
Neugewichtung der Assets eines Portfolios – sbRebalancedReturn 134
Optimale Boxenstopps 136
Optimale Nutzung von Urlaubstageen 138
Rundensystem für Turnier Jeder Gegen Jeden - sbRoundRobin 140
Zugriffsrechte prüfen 143
VBA Programme für Fortgeschrittene 146
Abstract 146
Mitarbeiter Umsatzanteile 146
Extremwerte von Zellen speichern – sbCellWatermarks 151
Aufgabenliste – sbTaskList 153
Zahlungseingangsproblem 156
Lotto k-Tupel 159
Sterblichkeitsrente 162
Komplexe Matrixformel (Schlechteste Wahl) 162
Einfache Benutzerdefinierte Funktion mit VBA (Bessere Wahl) 163
Vorkalkulierte Tabelle und eine NBW Formel (Wahrscheinlich am Besten) 163
Finanzmathematik – Optionen 164
Das Binomialbaummodell 164
Das Trinomial-Optionspreismodell und die Methode der Finiten Differenzen 170
Monte Carlo Simulation 176
Erzeuge alle Permutationen eines Arrays – Quickperm 186
Summenerhaltendes Runden mit RoundToSum 188
Abstract 188
Summenerhaltendes Runden 188
Beispiel für Prozentzahlen 188
Beispiel für absolute Zahlen 189
Die benutzerdefinierte VBA Funktion RoundToSum 189
RoundToSum Programmcode 190
Round2Sum Lambda-Ausdruck 191
Laufzeiten 192
Werte runden ändert ihre Summe 193
Wieviele Summanden müssen im Mittel 'falsch' gerundet werden? 195
Anwendungsbeispiele für RoundToSum 197
Gemeinkostenumlage 197
Beispiel für ein exaktes Verhältnis von Zufallszahlen 199
Die benutzerdefinierte VBA Funktion sbExactRandHistogrm 200
Faire Mitarbeiterauswahl nach Teamgröße – sbFairStaffSelection 202
Stichprobe normalverteilen 204
Verteilung nach Restmenge 209
Ein einfacher Ansatz 209
Eine korrekte Rechnung 209
Urlaub nehmen wenn weniger los ist 210
Einfaches Beispiel 210
Komplexeres Beispiel 211
Zuweisen von Arbeitseinheiten vermindert um geleistete 212
RoundToSum im Vergleich 213
RoundToSum im Vergleich mit anderen 'einfachen' Methoden 213
RoundToSum im Vergleich zum D‘Hondt Verfahren 216
Literatur 216
Zufallszahlen erzeugen 217
Abstract 217
Ganze Zufallszahlen 217
Natürliche Zufallszahlen – UniqRandInt 217
Ganze Zufallszahlen – sbRandInt 219
Zufallszahlen mit einer festgelegten Summe 221
Minimum für die Zufallszahlen vorgegeben - sbLongRandSumN 221
Minimum und Maximum für die Zufallszahlen vorgegeben - sbRandIntFixSum 222
Praktische Anwendungen ganzer Zufallszahlen 224
Krabat – Wie alt können die Lehrlinge werden? 224
Ein Mathematiktest mit ganzen Zufallszahlen – Generate_Math_Test 225
Monte Carlo Simulation für eine faire Teamverteilung – sbGenerateTeams 227
Monte Carlo Simulation für einen Regatta Flight Plan – sbRegattaFlightPlan 231
Chancen beim Brettspiel Risiko 234
Eine simple Monte Carlo Simulation 238
Gleitkomma-Zufallszahlen 240
Eine ideale Normalverteilung – sbGenNormDist 240
Zufallszahlen mit der Summe 1 – sbRandSum1 242
Verteilungen von Gleitkomma-Zufallszahlen 244
sbRandGeneral 244
sbRandHistogrm 247
sbRandTriang 250
sbRandTrigen 251
Brownsche Brücken 255
sbGrowthSeries 255
Fixe Summe aus verschiedenen Zufallsbereichen 257
Korrelierte Zufallszahlen 259
Cholesky Zerlegung 259
Iman-Conover Methode 261
Praktische Anwendungen allgemeiner Zufallszahlen 268
Testdaten erzeugen – sbGenerateTestData 268
Zufallszahlen die sich nicht sofort wiederholen – sbRandomNoRepeatBeforeN 278
Exkurs 280
Wahrscheinlichkeiten berechnen – Ziehen von Karten mit und ohne Zurücklegen 280
Spaß ohne Praxisrelevanz für Fortgeschrittene 281
Eine einfache VBA Pivot Tabelle – sbMiniPivot 281
Rundenturnier-Paarungen mit Excel Tabellenblattfunktionen 284
Entwickeln einer Formellösung für ein Rundenturnier Jeder gegen Jeden 284
TEXTVERKETTEN 288
Index 289
Bitte den Haftungsausschluss im Impressum beachten.
Plumhoff_Excel_VBA_Eine_Sammlung.pdf [10,6 MB PDF Datei, ohne jegliche Gewährleistung]
Auszug über das summenerhaltende Runden:
Plumhoff_Summenerhaltendes_Runden.pdf [1,5 MB PDF Datei, ohne jegliche Gewährleistung]
Auszug über die Erzeugung von Zufallszahlen:
Plumhoff_Zufallszahlen_erzeugen_mit_Excel_VBA.pdf [12,3 MB PDF Datei, ohne jegliche Gewährleistung]