Excel VBA Eine Sammlung
Dies ist eine Sammlung von Excel VBA Programmen und auch einigen Excelformeln, die mir sinnvoll erschienen.
Inhaltsverzeichnis
Excel / VBA – Eine Sammlung 1
Abstract 2
Excel Lernpfad 2
Die Excel / VBA Programmierumgebung 11
Abstract 11
Grundlegendes 11
Variablen 11
Typen 11
Scope 12
Während des Editierens 12
Während der Programmausführung 13
Breakpoints 13
Fehlerbehandlung 14
Gute Programmierpraxis 15
Seien Sie ein guter Programmierer 15
Gutes Excel und VBA Wissen 15
Programmierkonventionen 15
Säubern Sie Makroaufzeichnungen 15
Dokumentieren Sie Ihr Programm ausreichend 16
Testen Sie Ihr Programm gut 16
Protokollieren Sie Ihre Programmausführung 16
Optimieren Sie Ihr Programm 16
Systemstatus sichern und zurückschreiben – SystemState Klasse 17
Systemstatus Variablen 17
Programmablauf dokumentieren – Logging Klasse 20
Für und Wider 20
Parameter 21
Beispielausgabe 22
Module 22
Klassenmodule 26
Exkurs: Logger für PowerShell – Write-Log 27
Exportiere einen Bereich als Grafik – sbExportRange2Picture 29
sbExportRange2Picture Programmcode 29
Bereichsnamen anzeigen – sbNamedRanges 32
Excel Version anzeigen – ApplicationVersion 33
Anzahl der Dimensionen eines Arrays – ArrayDim 34
Zellinformationen ausgeben – sbGetCell 35
Nächste Gleitkommazahl – sbNextFloat 39
Aufruf anderer Windows Programme am Beispiel sbZip 39
Excel Don’ts – Was man mit Excel besser sein lässt 41
Eine Tabelle mit Beispielen die man besser vermeidet 41
Zahlensysteme, Formate und Umwandlungen 42
Abstract 42
Umwandlungen und Berechnungen von Zahlen 42
Zahlen in Worten ausgeben – sbInWorten 42
Umwandlungen zwischen dem Dezimalsystem und dem Binärsystem 46
Feiertage ermitteln – IstFeiertag 51
Zahl vollständig nicht-wissenschaftlich darstellen – sbNum2Str 55
Signifikante Ziffern einer Zahl – sbNSig 56
sbNSig Program Code 56
Nummer eines Monatsnamens – sbMonatsZahl 57
Die Berechnung der Kreiszahl π 60
Pi Ausgabe auf 1000 Stellen 63
Die Berechnung der Eulerschen Zahl e 64
e Ausgabe auf 1000 Stellen 65
Literatur 66
Zahlenfolge kürzer darstellen – sbParseNumSeq 66
Rationale Zahlen = Brüche 68
Ermittle die nächstliegende rationale Zahl zu einer Gleitkommazahl – sbNRN 68
Lineare Gleichungssysteme mit rationalen Koeffizienten 71
Anteilsveränderung als Bruch 74
Monatsanteil 75
Linearkombination Ganzer Zahlen 76
Erweiterter Euklidischer Algorithmus – sbEuklid 76
Uhrzeiten 78
Arbeitszeit zwischen 2 Zeitpunkten – sbTimeDiff 78
Arbeitszeit zu einem Zeitpunkt addieren – sbTimeAdd 81
Uhrzeit für eine andere Zeitzone umwandeln – ConvertTime 84
Prüfziffern 84
Berechne oder prüfe eine Europäische Artikelnummer – sbEAN 84
Einfache Mathematik in Formeln 86
Wie man Tabellenblattformeln analysiert 86
Datumsformeln testen 87
Erster oder letzter Wochentag im Monat 89
Derselbe Wochentag und Kalenderwoche im vorigen Jahr 90
Budgetkontrolle 91
Geringste Signifikante Ziffer erhöhen 92
Linearer Breakdown 93
Füge zwei Spalten mit Blocksatz zusammen 96
Minimum Truck Load Problem 97
Nachstehende Nullen zählen 98
Minimax Interpolation 98
Interpolation mit PERZENTIL / PROZENTRANG 100
Interpolation mit TREND 102
REFA Zeitklassen 103
Rollen und Rechte 104
Rundungstricks 105
Trinkgeld Verteilung 106
Unterjährige Werte glätten 108
Zellenbasiertes Diagramm 109
Einfache VBA Programme 111
Abstract 111
Addiere Zahlen desselben Zahlenformats – sbSumMyFormat 111
Zähle Zellen mit einer bestimmten Farbe – sbCountMyColor 112
Asset Allokation für ein Portfolio – sbAllocate 113
Ausreißer Werte eliminieren – sbORB 114
Faire Verteilung eines begrenzten Budgets – sbDistBudget 116
Collatz Länge Berechnen - sbCollatz 118
Eindeutigen Rang auch bei Duplikaten vergeben – sbUniqRank 119
Eliminiere Punkte eines Graphen mit kleiner Steigungsänderung – sbReducePoints 121
Geburtstagsliste – sbBirthdayList 123
Akumuliertes Handelsblatt – sbAccumulatedTradeBlotter 125
Häufigste Paare – sbMostFrequentPairs 127
Interpolieren – sbInterp 129
Erzeuge alle Kombinationen der Subsets k von n 131
Lookup Varianten 133
Minimale Anzahl von Scheinen und Münzen für einen Geldbetrag – sbMinCash 136
Neugewichtung der Assets eines Portfolios – sbRebalancedReturn 139
Optimale Boxenstopps 141
Optimale Nutzung von Urlaubstageen 143
Rundensystem für Turnier Jeder Gegen Jeden - sbRoundRobin 145
Weiterführende Literatur 145
Zugriffsrechte prüfen 148
VBA Programme für Fortgeschrittene 150
Abstract 150
Extremwerte von Zellen speichern – sbCellWatermarks 150
Aufgabenliste – sbTaskList 152
Datenanalyse – sbDatastats 155
System Handbuch 155
Übersicht 155
Parameter im Tabellenblatt Param 156
Anwenderhandbuch 157
Zusammenfassung 157
Konfigurationsdatei FileSpecs.csv 157
NumStats Ausgabe 158
NumStatsMove Ausgabe 158
TextStats Ausgabe 158
TextStatsMove Ausgabe 158
Limits_Output Datei 159
Limits_Move_Output Datei 160
Programm Code sbDatastats 161
Modul Input_Data 161
Modul Output_Data 163
Modul Workflow 164
Gewichtberechnung 189
Sinnvolle Erweiterungen und Verallgemeinerungen 191
Minirechner 198
Finanzmathematik – Optionen 205
Das Binomialbaummodell 205
Das Trinomial-Optionspreismodell und die Methode der Finiten Differenzen 211
Monte Carlo Simulation 216
Erzeuge alle Permutationen eines Arrays – Quickperm 226
Sterblichkeitsrente 228
Komplexe Matrixformel (Schlechteste Wahl) 228
Einfache Benutzerdefinierte Funktion mit VBA (Bessere Wahl) 229
Vorkalkulierte Tabelle und eine NBW Formel (Wahrscheinlich am Besten) 229
Eine wartungsfreie Datenbenk 230
Einschränkungen 230
Verantwortlichkeiten 230
Systemdokumentation 231
Anwenderdokumentation 231
Super User mit Schreib-/Lesezugriff 231
Normaler Anwender mit nur Lesezugriff 231
Appendix – SQL Code 232
Appendix – VBA Code 235
Exkurs: Vergleiche Korrelationsmatrizen 238
Abstract 238
Implementierungsansatz 238
Parameter 238
Summenerhaltendes Runden mit RoundToSum 252
Abstract 252
Summenerhaltendes Runden 252
Beispiel für Prozentzahlen 252
Beispiel für absolute Zahlen 253
Die benutzerdefinierte VBA Funktion RoundToSum 253
RoundToSum Programmcode 254
Round2Sum Lambda-Ausdruck 255
Werte runden ändert ihre Summe 256
Anwendungsbeispiele für RoundToSum 258
Gemeinkostenumlage 258
Beispiel für ein exaktes Verhältnis von Zufallszahlen 260
Die benutzerdefinierte VBA Funktion sbExactRandHistogrm 261
Faire Mitarbeiterauswahl nach Teamgröße – sbFairStaffSelection 263
Stichprobe normalverteilen 265
Verteilung nach Restmenge 270
Ein simpler Ansatz 270
Eine korrekte Rechnung 270
Urlaub nehmen wenn weniger los ist 271
Simples Beispiel 271
Komplexeres Beispiel 272
Zuweisen von Arbeitseinheiten vermindert um geleistete 273
RoundToSum im Vergleich 274
RoundToSum im Vergleich mit anderen “einfachen” Methoden 274
RoundToSum im Vergleich zum D‘Hondt Verfahren 277
Literatur 277
Zufallszahlen erzeugen 278
Abstract 278
Ganze Zufallszahlen 278
Natürliche Zufallszahlen – UniqRandInt 278
Ganze Zufallszahlen – sbRandInt 280
Zufallszahlen mit einer festgelegten Summe 282
Minimum für die Zufallszahlen vorgegeben - sbLongRandSumN 282
Minimum und Maximum für die Zufallszahlen vorgegeben - sbRandIntFixSum 283
Praktische Anwendungen ganzer Zufallszahlen 285
Krabat – Wie alt können die Lehrlinge werden? 285
Ein Mathematiktest mit ganzen Zufallszahlen – Generate_Math_Test 286
Monte Carlo Simulation für eine faire Teamverteilung – sbGenerateTeams 288
Monte Carlo Simulation für einen Regatta Flight Plan – sbRegattaFlightPlan 292
Chancen beim Brettspiel Risiko 295
Eine simple Monte Carlo Simulation 299
Gleitkomma-Zufallszahlen 301
Eine ideale Normalverteilung – sbGenNormDist 301
Zufallszahlen mit der Summe 1 – sbRandSum1 303
Zufallsportfolio mit Gesamtsumme und Asset-Schranken – sbAllocate 305
Verteilungen von Gleitkomma-Zufallszahlen 306
sbRandGeneral 306
sbRandHistogrm 309
sbRandTriang 312
sbRandTrigen 313
sbRandCauchy 317
sbRandCDFInv 318
sbRandPDF 319
sbRandCumulative 320
Brownsche Brücken 322
sbGrowthSeries 322
Fixe Summe aus verschiedenen Zufallsbereichen 324
Korrelierte Zufallszahlen 330
Cholesky Zerlegung 330
Iman-Conover Methode 332
Praktische Anwendungen allgemeiner Zufallszahlen 339
Testdaten erzeugen – sbGenerateTestData 339
Zufallszahlen die sich nicht sofort wiederholen – sbRandomNoRepeatBeforeN 349
Exkurs 351
Wahrscheinlichkeiten berechnen – Ziehen von Karten mit und ohne Zurücklegen 351
Spaß ohne Praxisrelevanz für Fortgeschrittene 353
Eine einfache VBA Pivot Tabelle – sbMiniPivot 353
Rundenturnier-Paarungen mit Excel Tabellenblattfunktionen 356
Entwickeln einer Formellösung für ein Rundenturnier Jeder gegen Jeden 356
TEXTVERKETTEN 360
Index 361
Bitte den Haftungsausschluss im Impressum beachten.
Plumhoff_Excel_VBA_Eine_Sammlung.pdf [12,7 MB PDF Datei, ohne jegliche Gewährleistung]