VBA Beispiele

VBA per Copy & Paste bereitstellen.

Eine Idee für unsere Einführung in die Automatisierungen mit Makros und VBA-Code ist die praktische Umsetzung „quasi fertiger“ VBA-Lösungen aus diversen Quellen:

  • Fachbücher

    siehe Herdt-Skript, VBA Buch Rheinwerk-Verlag (über 600 Beispiele), …

  • Online-Recherchen

    neben der reinen Suche natürlich auch diverse Fachportale zu VBA

Hier mal ein paar Beispiele für diesen Copy & Paste Einsatz.

VBA Beispiel 01

Mehrzeiliger Code mit „ _“ als Zeilenumbruch:

' Über mehrere Zeilen mit Leertaste _ (in MsgBox Konstante vbLf)
Sub MsgBoxMehrzeiligAnzeigen()
   MsgBox "Heute ist der " & Date & vbLf & _
   "Es ist jetzt genau: " & Time & vbLf & _
   "Sie sind der Anwender: " & Environ("username"), _
   vbOKOnly, "Meldung"
End Sub

Tipp: bei Code mit Vorgestellten Optionen bitte jeweils ein einzelnes Modul nutzen (siehe: Option Explicit )!

VBA Beispiel 02

Hier folgend ein Beispiel einer Internet-Recherche mit „excel VBA tabellenblätter sortieren“ ergibt aktuell mit Google gut 122.000 Suchergebnisse!

Darunter findet sich (z.B.) auch eines der erwähnten Portale rund um Excel:

https://www.excel-inside.de/vba-loesungen/datei/951-tabellenbl%C3%A4tter-alphabetisch-sortieren

Und schon hat man ein „Copy & Paste“ Beispiel für die Sortierung von Tabellenblättern:

 1Sub Sheets_alphabetisch_sortieren()
 2'** Dieses Makro sortiert die Blätter in alphabetischer Reihenfolge
 3'** Reihenfolge: Sonderzeichen, Ziffern, Buchstaben
 4
 5'** Dimensionierung der Variablen
 6Dim intAnz As Integer
 7Dim a, b As Integer
 8Dim strSortKrit As String
 9
10'** Sortierreihenfolge festlegen
11'** "<" = Aufsteigend von 0-9 und A-Z
12'** ">" = Absteigend von Z-A und 9-0
13strSortKrit = ">" 'Nach Bedarf anpassen!
14
15'** Ermittlung Anzahl Tabellenblätter
16intAnz = ActiveWorkbook.Worksheets.Count
17
18'** Blätter nacheinander durchlaufen und sortieren
19For a = 1 To intAnz
20   For b = a To intAnz
21         If strSortKrit = "<" Then
22            If Worksheets(b).Name < Worksheets(a).Name Then
23               Worksheets(b).Move Before:=Worksheets(a)
24            End If
25         ElseIf strSortKrit = ">" Then
26            If Worksheets(b).Name > Worksheets(a).Name Then
27               Worksheets(b).Move Before:=Worksheets(a)
28            End If
29         End If
30   Next b
31Next a
32
33End Sub

Den Code einfach in ein Modul Ihrer Wahl kopieren und austesten!

Und diese beispielhafte Suche kratzt nur an der Oberfläche der möglichen Umsetzungen - wie ich immer sage: „Das Rad wurde schon erfunden“. Was in diesem Zusammenhang heißen soll, dass es bereits Lösungen für Ihre Probleme gibt.

Es liegt an uns diese Beispiel sauber mit Excel-Technik umsetzen zu können.