• MakrosMakros

Im Rahmen der EDV-Mitarbeiterfortbildungen der TU Braunschweig findet vom 10. - 11.02.2020 am Gauß-IT-Zentrum in der Hans-Sommer-Straße 65 das Seminar "Microsoft Excel 2010 – Aufbau" statt.

Sie lernen in diesem praxisorientierten Seminar weitergehende Techniken und den verbesserten Umgang mit der aktuellen Excel-Version:

  • Große Tabellen effektiver nutzen und auswerten
  • Einfache und komplexe Funktionen
  • Formeln mit Bedingungen und Verzweigungen
  • Analysieren und filtern mit DB-Funktionen und Pivot
  • Einfache Makros aufzeichnen / Einführung VBA
  • Unbekannte und eigene Funktionen mit VBA
  • Ihre Themen und Fragen

Zielgruppe: Alle Mitarbeiterinnen und Mitarbeiter, die ein Excel-Grundlagenseminar besucht haben oder über Grundkenntnisse in Excel verfügen und die Excel in der Praxis anwenden können.

Hier die Rahmendaten zum Seminar:

Ort: Gauß-IT-Zentrum, Hans-Sommer-Straße 65, HS 65.3
Zeiten: Mo., 10.02. - Di., 11.02.2020; 09.00 - 16.00 Uhr

Ich werde das Thema - in gewohnter Weise - mit täglichen Infos begleiten.
Ihr Trainer Joe Brandes

 

Montag, 10.02.2020, 09.00 - 16.00 Uhr

Orientierungsphase, Teilnehmerthemen kennenlernen/koordinieren

Hinweis auf Online-Resourcen und Tools

...für die weiteren Arbeiten in Excel-Seminaren...

Temporärer Download-Ordner für TN im Seminar

Trainer-Tools:
Screenshots mit Windows Boardmitteln ( Win + Druck )
Bildschirmlupe mit Windows Boardmitteln ( Win + + ;weglegen der Lupe mit Win + ESC
Alternative/ehemalige Lösungen:
Bildschirmlupe "Virtual Magnifiying Glass" und Screenshots erstellen mit "Lightscreen"); z.B. über Portal portableapps.com

Linksammlung (s.a. Trainer-Excel-Hand-Out und hier nochmals in Kurzauflistung

Downloads (Anm.: temporär!) auf Onedrive-Laufwerk Trainer J. Brandes
Anleitung: bitte einfach Dokumente sauber markieren und mit Schaltfläche "Herunterladen" auf eigenen Rechner downloaden!

 

Excel Basics

Basics

... zum Einstieg / Wiedereinstieg in Excel-Praxis

Zellen können drei Inhalte aufnehmen:

Texte, Zahlen und Formeln; letztere beginnen immer mit einem "="
Zahlen werden immer sauber ohne Größenangaben und Währungen eingegeben
Eingaben sauber mit Return beenden
Spezial: Datum und Uhrzeit sind spezielle Zahlenformate (siehe Rechte Maus - Zellen formatieren...)
mit Zahleninhalten mit Bezug auf den 01.01.1900 bei Microsoft Systemen; keine negativen Uhrzeitformate möglich (Hinweis auf ####### in Zellen)
Anm./Hilfe bei MacOS-Excel-Mappen: über Optionen - Erweitert - 1904 Datumswerte verwenden (Rubrik: Beim Berechnen dieser Arbeitsmappe)
erste einfache Formeln mit "Arithmetischen Operatoren" ;-) also: + - / *

Zellen in Spalten und Zeilen

Zellbezüge mit Buchstaben für Spalten und Zahlen für Zeilen
Bewegen mit Maus und Tastatur;
mit Strg und Cursortasten (Pfeiltasten) bewegen an "Tabellengrenzen"
mit Umschalten-Taste und Cursor wird markiert; Lässt sich kombinieren für effizientes Markieren großer Tabellenbereiche
in neuen Exceltabellen: 16.384 Spalten x 1.048.576 Zeilen (alt in xls: 256 x 65.536)
schnelles Positionieren mit Namensfeld (oben links) und Hinweis auf echte Inhalte der Zellen in Bearbeitungsleiste
Spaltenbreiten geändert, Spalten ein-/ausblenden

Zellen markieren

Markieren getrennter Zellbereiche mit gehaltener Strg-Taste nach der ersten Markierung für alle folgenden Zellbereiche

Automatisches Ausfüllen

... Ziehen mit kleinem Fadenkreuz an Zelle rechts unten
von Monaten, Wochentagen und Zahlenformaten, Ziehen mit der Maus
Excel 2007: Excel-Optionen - Kategorie Häufig verwendet - Benutzerdefinierte Listen
Excel 2010 / 2013: Excel-Optionen - Kategorie Erweitert - nach unten scrollen - Benutzerdefinierte Listen
eigentlich ja "Kopieren"
Tipp: bei Zahlen Startwert und Schrittweite dann 2 Zellen markieren und ziehen

Eingabetricks:

Zelleingaben mit ' beginnen - Zellen werden automatisch 1-zu-1 als Text übernommen (z.B. '007)
so lassen sich auch "Formeln" in Zellen eintragen
manuelle Zeilenumbrüche in Zellen mit Alt + Return
neue Spalten/Zeilen mit Markieren der Gewünschten und dann mit Strg + "+" bzw. "-" einfügen/löschen
Aktuelles Datum mit Strg + . (Strg + Punkt)

Drag & Drop

Mausaktionen mittels "Ziehen und Fallenlassen"; Praxis mit Zellen, Zellbereichen und Tabellenblättern
mittels Strg-Taste wird das Verschieben zum Kopieren

neue Spalten/Zeilen/Zellen

Markieren der Spalte(n)/Zeile(n) und dann mittels Strg + "Plus" einfügen bzw. Strg + "Minus" entfernen
bei Bereichen und Strg + "Plus" erscheint zusätzliches Menü

Zellformate

Buchhaltung vs. Währung (Ausrichtung in Zelle beachten), Dezimalstellen, Datum & Uhrzeit

Datum / Uhrzeit

Problem: Datum-/Uhrzeitzellen sind speziell formatierte Zahlenzellen und bei Uhrzeiten kann es keine negativen Zahlenwerte als Uhrzeitformat geben!
Zahleninhalte mit Bezug auf den 01.01.1900 bei Microsoft Systemen;
keine negativen Uhrzeitformate möglich (Hinweis auf ####### in Zellen)
Anm./Hilfe bei Apple/MacOS-Excel-Mappen: über Optionen - Erweitert - 1904 Datumswerte verwenden (Rubrik: Beim Berechnen dieser Arbeitsmappe)

Benutzerdefinierte Zahlenformate

am Beispiel mit Litern: 0,00 "Liter"  formatiert Zahl 15 zu 15,00 Liter
alternativ dann einfach die Zeichenkette (engl. String - Text in Anführungszeichen) mit gewünschtem Text austauschen
einmal definierte benutzerdefinierte Zahlenformate merkt sich Excel in der Kategorie "Benutzerdefinert" bei den Zahlenformaten

Format übertragen

über Kontextmenü und/oder Symbol "Pinsel" die Formate aus Vorlage-Zelle auf andere Zellen übertragen
Tipp: mit Doppelklick behält man den Kopierpinsel bis man ESC drückt

Kommentare

Mittels Rechter Maus (Kontextmenü) Kommentar eingefügt und später auch bearbeiten bzw. löschen, ein-/ausblenden
in Ribbons: Überprüfen - Gruppe Kommentare
in Druckoptionen lassen sich die Ausdrucksgestaltungen für die Kommentare einstellen

Tag 01 - Übungen: Funktionen + Pivot

Montag, 10.02.2020, 09.00 - 16.00 Uhr

Rekapitulation, TN-Fragen

Zellbezüge (relativ und absolut)

relative Zellbezüge erlauben das Kopieren (Ziehen) der Formeln
absolute Zellbezüge mit Hinzufügung von $-Symbolen, so werden Zellbezüge beim Kopieren "fixiert"
Tipp: mit Cursor an Zellbezug und Druck auf F4 automatische $ (Kombinationen)

Übung: gemischte relative/absolute Zellbezüge bei "kleinem 1-Mal-1" (Formel: =B$1 * $A2 )

Als Tabelle formatieren...

neue 2007/2010er Technologie - unterschätzt als einfache "Design-Technik" zum Einfärben von Tabellenbereichen;
unter der Haube aber komplett neue intelligente "Datenbank"-Technik mit einfachen und sicheren Möglichkeiten zum Sortieren und Filtern von Informationen;
außerdem lassen sich diese Tabellenbereiche sinnvoll benennen und damit "sprechende" Formeln erzeugen:
=SUMME(KassenbuchSep[Eingang])  

Tipps: Tabellen sauber benennen, Filter-Pfeile ausblenden mittels Ribbon Daten - Filter, Tabellenbereiche lassen sich auch wieder in "In Bereich konvertieren" zurückwandeln;
eine Spalte mit Reihenfolge der Eingabe einpflegen (z.B. "Laufende Nr"), damit sich eine stetige Reihenfolge bewusst erzeugen lassen kann;
Anm.: bei Filterung reagieren die Standardsummen nicht -> wir brauchen spezielle Summenfunktionen (s. DBSUMME)

Sortieren und Filtern
nutzen der neuen Tabellenformate und Ribbon Daten; Hinweis: nach Änderung mit Sortieren lassen sich "Datensätze" nicht einfach in Originalfolgen bringen, was Datenbanktechnik entspricht und OK ist;
Hilfe: durch Tabellenblattkopien oder am Besten eine fortlaufende ID-Spalte

Wichtige Erkenntnis: beim Filtern von Daten werden zwar in Tabellen die nicht zutreffenden "Datensätze" ausgeblendet, aber eine Summe über eine Datenspalte berechnet weiterhin die Gesamtsumme (also ohne Filter!)

Bedingte Formatierung

neue Regeln und Hervorhebungen mit Excel 2007/2010:

  • Datenbalken
  • Farbskalen
  • Symbolsätze

alle lassen sich kombinieren, Regeln löschen und verwalten mittels des Ribbon Start - Formatvorlagen - Bedingte Formate...

Hinweis: alle vordefinierten Regeln (z.B. "Top 10 Werte" oder "Obere 10%") lassen sich auf die eigenen Bedürfnisse anpassen. Auch die grafischen Formatierungen können auf die eigenen gewünschten Intervalle konfiguriert werden.

Funktionen

am Beispiel SUMME(); Eingabe mittels Maus und/oder Tastatur
ANZAHL(), ANZAHL2(), MIN(), MAX(), MITTELWERT(), HEUTE()
Hinweis auf Hilfe über Funktionsassistenten (fx-Symbol in Bearbeitungszeile) und Aufruf von integrierter oder Online-Hilfe

WENN()

Logische Funktion mit 3 Parametern: Prüfung/Bedingung; Dann-Wert; Sonst-Wert
Syntax beachten und Hilfestellung bei Eingabe

Anm.: Verschachtelung von zwei WENN-Funktionen für drei Verzweigungen und so weiter bis maximal 9 Verschachtelungen (→ 10 Zuweisungen)
Nutzung von Zellen für Vergleichswerte in Prüfungen und für Berechnungen in den Dann/Sonst-Zweigen verlangen wieder nach den absoluten Zellbezügen, damit sich die Funktionen auch sauber kopieren lassen (nach unten ziehen lassen).

SVERWEIS()

verschachtelte WENN-Funktionen können nur maximal 10 Werte verzweigen (9 mal WENN verschachteln) und das will ja auch kein Mensch machen ;-)
mit SVERWEIS lassen sich aus Bereichen (Matrix) die entsprechenden Ergebniswerte aus den 2. / 3. ... Spalten auswerten:
=SVERWEIS( B4; $A$2:$E$6 ; 2)  
=SVERWEIS( B4 ; Provisionstabellenblatt!$A$2:$E$6 ; 2 )  

oder mit Tabellen: (Technik: Als Tabelle formatieren...)
=SVERWEIS( B4 ; Provisionstabelle[#Alle] ; 2 )  

Beachten: erste Spalte aufwärts alphanumerisch sortiert und Einstiegswert (kleinster möglicher Wert) sollte in der ersten Zeile berücksichtigt werden
Verwandte Funktion: WVERWEIS() - dort das Ganze dann in Zeilen, statt in Spalten bei SVERWEIS()

TEILERGEBNIS-Funktion

mit dieser besonderen "Funktionssammlung" lässt sich eine gefilterte Tabelle jetzt sofort auswerten:
=TEILERGEBNIS( 9 ; BestellungenSep[Bestellungen] )   
hier definiert die "9" die Funktionalität "Summe erstellen"

alternativ: 1 für Mittelwert, ... (siehe Hilfe zur Funktion TEILERGEBNIS)

DB-Funktionen

DBSUMME behandelt Tabellenbereiche wie Datenbanken und erlaubt quasi Abfragen mit Kriterien (Queries)
Übungen zu einfachen ODER (Kriterien auf unterschiedlichen Zeilen) und zu UND (Kriterien befinden sich auf derselben Zeile) bei den Suchkriterienzellen;

Hinweis auf Excel-Hilfe Kategorie DB-Funktionen oder wieder einfach über Funktionsassistenten die Hilfe aufrufen
DB-Funktionen: DBSUMME(), DBMAX(), DBMIN(), DBMITTELWERT(), ...

Pivot-Tabellen

mittels Menüband Einfügen; Aufbereitung und Analyse von Daten mit Hilfe der Assistent-unterstützten Pivot-Tabellen
Entwurf auf eigenem Tabellenblatt mit speziellen Menübändern für die Pivot-Konfiguration
Zusammenhang mit DB-Funktionen (DBSUMME, DBANZAHL); auch hier wieder Einsatz von "Als Tabelle formatieren..."

Eigenschaften von Feldern und Gesamt-PivotTable geändert (z.B. automatisches Anpassen Spaltenbreiten deaktiviert)
Hinweis: beim Ändern der Datenbereiche für die PivotTable muss man diese manuell aktualisieren
(Kontextmenü oder Schaltfläche Aktualisieren in Menüband Optionen der PivotTable-Tools)

mehrere Auswertungen (Summe, Anzahl) in Bereich "Werte" möglich
Datenschnitt einfügen (Menüband PivotTable-Tools - Optionen - Gruppe Sortieren und Filtern) - so lassen sich weitere attraktive Filterungen durchführen

Gruppierte Bereiche (in Zeilen und/oder Spalten) möglich: zusätzlich Zeilen für "Abteilung" mit Feld "Team" erweitert - also als 2. Zuordnung bei den "Zeilenbeschriftungen" hinzugefügt
Die berechneten Werte im Pivot-Bericht lassen sich einfach per Klick in Formeln übernehmen und werden clever als Pivot-Zuweisungen und nicht als relative (oder gar absolute) Zellbezüge (z.B. H19) übernommen. So passen die Zellen immer - egal wie sich der Bericht gerade mal nach Datenaktualisierungen verändert hat! Beispiel:
=PIVOTDATENZUORDNEN("Gehalt";$A$3;"Abteilung";"IT")  
Tipp: mit Doppelklick auf Zusammenfassungen in dem Pivot-Bericht erhält man automatisch eine neues Tabellenblatt mit den Detaillwerten der Pivot-Zusammenfassung!

DATEDIF()

(Beispiel für versteckte Funktionen in Excel)

Berechnung von Datumszelldifferenzen in Jahren (Schalter "y"), Monaten ("m") oder Kombinationen;
Tipp: Suchmaschine nutzen mit Begriffen wie "Excel Jahre Differenz" (Beispiel-Ergebnis-Link)

Übung mit diversen Berechnungen!

 

  • Zellbezüge gemischtZellbezüge gemischt
  • Bedingte FormatierungenBedingte Formatierungen
  • DATEDIF()DATEDIF()
  • TEILERGEBNIS()TEILERGEBNIS()
  • DBSUMME()DBSUMME()
  • PivotTablePivotTable

 

Tag 02 - Übungen: Wiederholungen + Makros/VBA

Dienstag, 11.02.2020, 09.00 - 16.00 Uhr

Rekapitulation, TN-Fragen

Wiederholung/Fortsetzung zu Funktionen....

Arbeitsmappen

mit Makros - eigener Dateityp: *.xlsm (bzw. *.xltm für Vorlagen)

beim Öffnen muss außerdem noch die Sicherheitswarnung beachtet werden, die dann überhaupt erst die "Aktivierung" der aktiven Inhalte - sprich unsere Makros - ermöglicht. Ohne diese Aktivierung sind die Makros nicht nutzbar!

Version Dateiformate
Excel 97-2003 xls - das klassische Excel-Sheet (Arbeitsmappen)
xlt - die passenden Vorlagen (engl.: Templates)
Excel 2007 / 2010 / ... xlsx - XML basiertes Dokumentformat (ohne Makros)
xltx - die passenden Vorlagen
xlsm - XML basierte Mappen inkl. Makros
xltm - die passenden Vorlagen inkl. Makros

Aktueller Standardordner: C:\Users\benutzername\Documents\Benutzerdefinierte Office-Vorlagen   
Anm.: im Windows Explorer einfach deutschen Ordner "Dokumente" aufsuchen...
Die Vorlagen über Menüband Datei - Neu - Rubrik: Persönlich aufrufen/nutzen.

Speicherort für Vorlagen in Vorgänger-Windows/Office:
..\AppData\Roaming\Microsoft\Templates 

Tipp: Unterordner im Templates-Ordner des Office lassen Registerkarten für Meine Vorlagen entstehen!

PERSONAL.XLSB: Excel kennt auch "Persönliche Makro-Arbeitsmappen":
..\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB  (siehe also Benutzerprofil)
Einfache Erstellung der PERSONAL.XLSB: Makro erstellen mit "Makro speichern in: Persönliche Makroarbeitsmappe"
Danach lässt sich diese Technik über den VBA-Editor - Projektexplorer verwalten (Code hinzufügen/hinkopieren).

Makros I

(Erste Gehversuche mit Makros über Aufzeichnung von Makros)

Hinweis auf Menüband Entwicklertools: muss über Menüband Datei - Optionen ... oft erst eingeblendet werden
Ribbon Ansicht - Makro - Makro aufzeichnen: Beispiel mit Transponieren von Tabellenbereichen

Makro-Dialogfenster öffnen mittels Makro - Makros anzeigen (Tastenkombination ALT + F8 )
Vergabe von Tastenkombination und Symbol in Schnellzugriffsleiste (oben links) oder auch eigene Gruppen in Menübändern über Excel-Optionen

Hinweis zu Tastenkombinationen für Makros:
Drücken von UMSCHALTEN + L  erzeugt Tastenkombination UMSCHALTEN + STRG + L 

Tipp: nicht mit Maus Tabellenbereiche markieren, sondern mit Tastatur z.B. Umschalten + Strg + und dann  
Hinweis: wenn bei der Auswahl (mit Alt + F8) der Makros die Makronamen nicht sauber aufgelistet sind, sondern noch zusätzliche Pfade/Infos/Modulnamen ersichtlich sind, dann sind wahrscheinlich die Makros in der Mappe nicht aktiviert!

VBA-Editor nutzen

(siehe Alt + F11; z.B. für die nachfolgenden Codes)

manuelles Einfügen von Sub Routinen (Makros) oder Function (neue eigene Funktionen; Beispiel: NettoMwst)

Wichtig: falls noch keine Struktur "Module" im Projekt-Explorer vorhanden ist, dann einfach mittels Einfügen - Module diese notwendige Struktur erstellen
Tipps: über einzelne Module lassen sich die Codes sauber organisieren; bei Code mit Vorgestellten Optionen bitte jeweils ein neues, einzelnes Modul nutzen!

Debugging: bei Fehlern lässt sich im Editor der fragliche Quellcode begutachten und korrigieren. Für eine weitere Excel/VBA-Nutzung muss man den Fehler beheben oder die Ausführung des Makros stoppen (Stopptaste im Editor)

Makros II

(Zusatzinfos - Konfiguration/Sicherheit; Vorlagen nutzen)

Konfiguration über Excel-Optionen - Vertrauensstellungscenter - Einstellungen für Vertrauensstellungscenter
Hier: Einstellungen für Makros (möglichst unverändert lassen)

Besser: Vertrauenswürdige Speicherorte 
alternativ erreichbar über Schaltfläche "Makrosicherheit" im Menüband Entwicklertools
Bei Laufwerkspfaden im Netzwerk (UNC: \\...) muss extra ein Kontrollkästchen für diese Nutzung aktiviert werden.

Tipp: bei den "Vertrauenswürdigen Speicherorten" finden Sie auch Ihre Verzeichnisse für Benutzer und Templates!
Speicherorte auf Netzwerkressourcen müssen immer noch extra erlaubt werden

Tastenkombinationen:
ALT + F8 öffnet Makro-Dialogfenster;
ALT + F11 öffnet Visual-Basic-Editor

Auszüge aus Übungen: (ein Makro und eine Funktion)

View source
  1. 'Mit dieser Prozedur, werden alle markierten Zellen summiert.
  2. 'Diese Prozedur einfach in ein Modul einfügen und los gehts.
  3. Sub Selection_Summe()
  4. Dim Zelle As Range
  5. For Each Zelle In Selection
  6. If Zelle.Value <> "" And IsNumeric(Zelle.Value) Then
  7. Summe = Summe + Zelle.Value
  8. End If
  9. Next Zelle
  10. MsgBox "Das Ergebnis lautet: " & Summe, vbCritical
  11. End Sub
  12.  
  13. Public Function NettoMwst(Betrag, Optional SteuerSatz As Single = 0.19)
  14. 'Quelle: Helmut Pirklbauer
  15. Dim Netto As Double
  16. Netto = Betrag / (1 + SteuerSatz)
  17. NettoMwst = Excel.Application.Round(Netto, 4)
  18. End Function
Weitere Beispiele (ggf. und bei ausreichend Zeit) im Seminar bereitgestellt:
MsgBox, InputBox, Public vs. Private Prozeduren / Variablen, Tabellenblätter sortieren/auflisten, ...
Hier noch ein kleiner Code-Schnippsel:
View source
  1. Option Explicit
  2. Private umfang As Single
  3. Private laenge As Single
  4. Private breite As Single
  5. Private Const faktor = 2
  6.  
  7. Private Sub BerechneUmfang()
  8. ' Umfang eines Rechtecks nach der Formel u = 2*(a+b) bestimmen
  9. umfang = faktor * (laenge + breite)
  10. End Sub
  11.  
  12. Private Sub EingabeDialog()
  13. ' Eingabewerte ermitteln
  14. laenge = InputBox("Bitte geben Sie die Länge des Rechtecks ein: ", "Eingabe", 10)
  15. breite = InputBox("Bitte geben Sie die Breite des Rechtecks ein: ", "Eingabe", 5)
  16. End Sub
  17.  
  18. Sub Berechnung()
  19. ' startet den Eingabedialog und die Berechnung
  20. EingabeDialog
  21. BerechneUmfang
  22. MsgBox "Der Umfang des Rechtecks beträgt " & umfang & " Meter.", vbInformation, "Ausgabe"
  23. End Sub
Für weitere vertiefende Beschäftigungen mit dem Thema "Aktive Inhalte, Makros und Formulare mit Excel" hier eine beispielhafte Anleitung im Internet:
VBA Tutorials (Link Übung Eingabemasken mit Excel); Nutzung von UserForms: hier wichtig, dass die aktiven Elemente / VBA-Codes den Schaltflächen des Formulars zugeordnet werden.
Das eigentliche Formular wird durch eine einfache Schaltfläche im Arbeitsblatt aufgerufen.
Anm.: Übungen mit Forms (Formularen) in einer "VBA-Programmierung" Veranstaltung.

Objektorientierung

Excel-VBA-Objekte haben

  • Eigenschaften (Property - 80%) und
  • Methoden (Methods - 20%)

Übung/Test mit Objekt "Application"

View source
  1. Sub UnterschiedMethodeUndEigenschaft()
  2.  
  3. With tbl_Matrix.Range("A1:D10")
  4.  
  5. 'Eigenschaft
  6. .Borders(xlInsideHorizontal).ColorIndex = 4
  7.  
  8. 'Methode
  9. .BorderAround Weight:=xlThick, ColorIndex:=3
  10.  
  11. End With
  12.  
  13. End Sub
Beachte: Zuweisungen mit "=" und ":="
Bitte auch an Code-Completion mit Strg + Leertaste denken und die automatischen Auswahllistenfelder nutzen.

Variablen

Deklarieren mit Dim ; Tipp: Sonderzeichen vermeiden
lowerCamelCase empfohlen: intBeispielVar   (Prefix empfohlen; hier: int für Integer-Variable)
Am Anfang der Sub-Routinen die Variablen deklarieren (lokale Variablen).

Beispielhafte Prefixes für die Datentypen:
bool Boolean , byte Byte , cur Currency , dtm Date , dec Decimal , dbl Double , int Integer , lng Long , obj Object , sng Single , str String , var Variant , rng Range , wkb Workbook

Speziell: Typ Enum 

Übersicht zu Variablentypen: (Beachten: VB weicht teils von VBA ab; z.B. decimal not supported, ...)

Beispielhafte Links:
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/data-type-summary
https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/data-types/
https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/dim-statement
https://www.vba-tutorial.de/variablen/datentypen.htm   
Anm.: nur eine kleine Linkauswahl ohne Anspruch auf Vollständigkeit ;-)

Statische/Static Variablen   
bleiben nach Laufzeitende erhalten!

View source
  1. Sub VariablenInhaltBleibtBestehen()
  2. Static lngAufrufe As Long
  3.  
  4. lngAufrufe = lngAufrufe + 1
  5. MsgBox "Makro wurde " & lngAufrufe & " Mal ausgeführt!"
  6.  
  7. End Sub
Öffentliche/Public Variablen   Public dtmStartzeit As Date    sind auch über Modulgrenzen hinweg nutzbar!
Private/Private Variablen  Private strPasswort As String    sind nur in ihrem Modul verfügbar!

Konstanten

... sind schneller als Variablen!

View source
  1. Const strArbeitsmappe as String = "Mappe1.xls"
  2. Const dteStartDatum As Date = #1/1/2015#
  3. Const strFehlermeldung as String = "Fehler beim Druck!"
  4. Const sngMWST as Single = 1.19
Auch hier: möglichst Typ definieren.

Textdateien einlesen

Übungen zu unterschiedlichen Varianten

View source
.... 
Open ConstTxtDatei For Input As #1
 
Do Until EOF(1)
Line Input #1, strText
Debug.Print strText
Loop
 
Close #1
 
....
 Open ConstTxtDatei For Input As #1
VarDat = Input$(LOF(1), 1)
Debug.Print VarDat
Close #1
Zweite Variante ist schneller, da man keine VBA-Schleife (Loop) nutzt.

Kontrollstrukturen

Verwzeigungen

Inklusive Übungen und Beispielen

  • If ... End If   bzw.
  • If ... Then ... Else ... End If  bzw.  
  • IIf( Bedingung, Then, Else)  
  • Select Case ... Case(s) ... End Select   

Übungen / Beispiel-Codes für TN

Schleifen

  • For ... To ... Next  
  • For Each ... Next  
  • With ...  End With  
  • Do Until ... Loop  
  • Do While ... Loop  

Übungen / Beispiel-Codes für TN

UserForms

Übung mit Herdt-Taschenrechner:
Einbau einer neuen Schaltfläche (CommandButton cmdMultiplikation) und Code für eine Multiplikationsfunktion des Taschenrechners

Für weitere vertiefende Beschäftigungen mit dem Thema "UserForms" hier eine beispielhafte Anleitung im Internet:

VBA Tutorials (Link Übung Eingabemasken mit Excel)
Nutzung von UserForms: hier wichtig, dass die aktiven Elemente / VBA-Codes den Elementen des Formulars zugeordnet werden.

Das eigentliche Formular wird durch eine einfache Schaltfläche im Arbeitsblatt per Klick aufgerufen!
Beispiele für Sub / Prozeduren: cmdMulti_Click()  oder  txtZahl1_Exit()  
also immer der Name eines Form-Steuerelements und ein angehängtes Ereignis!

Sicherheitscenter

Konfigurationen für die Nutzung von aktiven Inhalten:
Vertrauenswürdige Herausgeber, Vertrauenswürdige Speicherorte, Vertrauenswürdige Dokumente, Add-Ins, ActiveX-Einstellungen, Einstellungen für Makros, Geschützte Ansicht, ...
Darstellung der wichtigsten Optionen und Zusammenhänge; Übung für Vertrauenswürdige Speicherorte (inkl. Netzwerk)

 

  

 

TN-Bescheinigungen, Feedback-Bögen, Letzte Fragen

 

Books und Co

Tipp: Wikibook von Autor Herber zum Thema VBA in Excel 

Skripte des Herdt-Verlag über das RRZN Uni Hannover zum kleinen Preis über das GITZ: (siehe Bestellform für Software und Skripte)
Link: http://www.rrzn.uni-hannover.de/buecher.html

Buchempfehlung: "VBA mit Excel", Bernd Held, (aktueller Link)
Rheinwerk Verlag, 995 Seiten, 3., aktualisierte und erweiterte Auflage 2018, gebunden
Rheinwerk Computing, ISBN 978-3-8362-6053-4 (Anm.: Beispiele lassen sich downloaden, im Bundle mit 5,- € DRM-freiem PDF!)

Bibliothek "Excel Makros / VBA"

  • VBA mit Excel
  • VBA mit Excel
  • Excel-VBA-Referenz
  • Excel-VBA-Referenz
  • Excel Programmieren
  • Excel Programmieren
  • Excel-VBA
  • Excel-VBA
  • VBA-Programmierung Office
  • VBA-Programmierung Office
  • Formeln und Funktionen
  • Formeln und Funktionen
  

 

Hier zum Abschluss noch ein paar Screenshots zum Seminartag - alle "Shots" des Tags gerne per "Cloud"...

 

  • Zellbezüge gemischtZellbezüge gemischt
  • Bedingte FormatierungenBedingte Formatierungen
  • DATEDIF()DATEDIF()
  • TEILERGEBNIS()TEILERGEBNIS()
  • DBSUMME()DBSUMME()
  • PivotTablePivotTable

 

 

Vielen Dank für Ihre überaus positiven Feedbacks und Wünsche nach weiteren Seminare (siehe Access 01.+02.07.2020)
Ihr Trainer Joe Brandes

  Privates

... zu Joe Brandes

Sie finden auf dieser Seite - als auch auf meiner privaten Visitenkarte joe-brandes.de einige Hintergrundinformationen zu mir und meinem Background.
Natürlich stellt die IT einen Schwerpunkt in meinem Leben dar - aber eben nicht nur ...

joe brandes 600px

Private Visitenkarte / Technik: HTML & CSS /
  joe-brandes.de

  Jobs

... IT-Trainer & Dozent

Ich erarbeite und konzipiere seit über 20 Jahren IT-Seminare und -Konzepte. Hierfür stehen der "PC-Systembetreuer / FITSN" und der "CMS Online Designer / CMSOD". Ich stehe Ihnen gerne als Ansprechpartner für Ihre Fragen rund um diese und andere IT-Themen zur Verfügung!

becss 600px

BECSS Visitenkarte / Technik: HTML & CSS /
  becss.de

  Hobby

... Snooker & more

Wer einmal zum Snookerqueue gegriffen hat, der wird es wohl nicht wieder weglegen. Und ich spiele auch immer wieder gerne eine Partie Billard mit den Kumpels und Vereinskameraden. Der Verein freut sich über jeden, der einmal in unserem schicken Vereinsheim vorbeischauen möchte.

bsb 2011 600px

Billard Sport BS / Joomla 3.x /
  billard-bs.de

PC Systembetreuer ist J. Brandes - IT seit über 35 Jahren - Technik: Joomla 3.4+, Bootstrap 3.3.4 und "Knowledge"

© 2020 - Websitedesign und Layout seit 07/2015 - Impressum - Datenschutzerklärung
Nach oben