For Each Zelle in Selection: VBA-Anpassungen für Excel
Schritt-für-Schritt-Anleitung
Um den VBA-Code so anzupassen, dass er nur auf die in der Auswahl markierten Zellen angewendet wird, folge diesen Schritten:
-
Öffne das Excel-Dokument und gehe zu Entwicklertools
.
-
Klicke auf Visual Basic
, um den VBA-Editor zu öffnen.
-
Füge den folgenden Code in das Modul ein, das du verwenden möchtest:
Private Sub CommandButton1_Click()
' Datumumwandeln Makro
Dim Z As Range
For Each Z In Selection
If Len(Z) = 7 And IsNumeric(Z) Then
Z = CDate(Mid(Z, 6, 2) & "." & Mid(Z, 4, 2) & "." & Mid(Z, 2, 2))
End If
Next Z
End Sub
-
Stelle sicher, dass du die Zeile Range("T11:T20000").Select
entfernst, damit das Makro nur auf die aktuell ausgewählten Zellen angewendet wird.
-
Schließe den VBA-Editor und teste das Makro, indem du zuerst die gewünschten Zellen markierst und dann den Button klickst.
Häufige Fehler und Lösungen
Alternative Methoden
Falls du eine andere Methode zur Bearbeitung von Zellen in der Auswahl verwenden möchtest, kannst du auch die Funktion Selection.Value
nutzen:
Private Sub CommandButton1_Click()
Dim Z As Range
For Each Z In Selection
If IsNumeric(Z.Value) Then
Z.Value = CDate(Mid(Z.Value, 6, 2) & "." & Mid(Z.Value, 4, 2) & "." & Mid(Z.Value, 2, 2))
End If
Next Z
End Sub
Diese Methode verwendet direkt den Wert der Zelle, anstatt den Zellinhalt zu ändern.
Praktische Beispiele
-
Beispiel 1: Auswahl von Zellen in der Spalte A und Umwandlung von Datumsformaten.
- Markiere die Zellen in der Spalte A (z.B. A1:A10) und führe das Makro aus.
-
Beispiel 2: Umwandlung von mehreren Bereichen.
- Du kannst mehrere Bereiche auswählen, indem du die
Strg
-Taste gedrückt hältst und die gewünschten Zellen auswählst, bevor du das Makro ausführst.
Tipps für Profis
-
Nutze die Application.ScreenUpdating
-Eigenschaft, um die Bildschirmaktualisierung während der Ausführung des Makros zu deaktivieren. Das beschleunigt die Ausführung:
Application.ScreenUpdating = False
' Dein Code hier
Application.ScreenUpdating = True
-
Experimentiere mit Fehlerbehandlungsroutinen, um sicherzustellen, dass das Makro auch bei unerwarteten Eingaben stabil läuft:
On Error Resume Next
' Dein Code hier
On Error GoTo 0
FAQ: Häufige Fragen
1. Wie kann ich den Bereich der Zellen anpassen?
Du kannst den Bereich einfach durch die Auswahl der Zellen ändern, bevor du das Makro ausführst. Das Makro arbeitet nur mit der Auswahl.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code ist mit den meisten modernen Excel-Versionen kompatibel, solange die Entwicklertools aktiviert sind.