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.