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 16
Gutes Excel und VBA Wissen 16
Programmierkonventionen 16
Säubern Sie Makroaufzeichnungen 16
Dokumentieren Sie Ihr Programm ausreichend 16
Testen Sie Ihr Programm gut 16
Protokollieren Sie Ihre Programmausführung 16
Optimieren Sie Ihr Programm 17
Systemstatus sichern und zurückschreiben – SystemState Klasse 18
Systemstatus Variablen 18
Programmablauf dokumentieren – Logging Klasse 21
Für und Wider 21
Parameter 22
Beispielausgabe 23
Module 23
Klassenmodule 27
Exkurs: Logger für PowerShell – Write-Log 28
Exportiere einen Bereich als Grafik – sbExportRange2Picture 30
sbExportRange2Picture Programmcode 30
Bereichsnamen anzeigen – sbNamedRanges 33
Excel Version anzeigen – ApplicationVersion 34
Anzahl der Dimensionen eines Arrays – ArrayDim 35
Zellinformationen ausgeben – sbGetCell 36
Nächste Gleitkommazahl – sbNextFloat 40
Aufruf anderer Windows Programme am Beispiel sbZip 40
Excel Don’ts – Was man mit Excel besser sein lässt 42
Eine Tabelle mit Beispielen die man besser vermeidet 42
Zahlensysteme, Formate und Umwandlungen 43
Abstract 43
Umwandlungen und Berechnungen von Zahlen 43
Zahlen in Worten ausgeben – sbInWorten 43
Umwandlungen zwischen dem Dezimalsystem und dem Binärsystem 47
Feiertage ermitteln – IstFeiertag 52
Zahl vollständig nicht-wissenschaftlich darstellen – sbNum2Str 56
Signifikante Ziffern einer Zahl – sbNSig 57
sbNSig Program Code 57
Nummer eines Monatsnamens – sbMonatsZahl 58
Die Berechnung der Kreiszahl π 61
Pi Ausgabe auf 1000 Stellen 64
Die Berechnung der Eulerschen Zahl e 65
e Ausgabe auf 1000 Stellen 66
Literatur 67
Zahlenfolge kürzer darstellen – sbParseNumSeq 67
Rationale Zahlen = Brüche 69
Ermittle die nächstliegende rationale Zahl zu einer Gleitkommazahl – sbNRN 69
Lineare Gleichungssysteme mit rationalen Koeffizienten 72
Anteilsveränderung als Bruch 75
Monatsanteil 76
Linearkombination Ganzer Zahlen 77
Erweiterter Euklidischer Algorithmus – sbEuklid 77
Uhrzeiten 79
Arbeitszeit zwischen 2 Zeitpunkten – sbTimeDiff 79
Arbeitszeit zu einem Zeitpunkt addieren – sbTimeAdd 82
Uhrzeit für eine andere Zeitzone umwandeln – ConvertTime 85
Prüfziffern 85
Berechne oder prüfe eine Europäische Artikelnummer – sbEAN 85
Einfache Mathematik in Formeln 87
Wie man Tabellenblattformeln analysiert 87
Datumsformeln testen 88
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
Beispiel für einen Programmaufruf 239
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]