Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro auf ausgewählt Zellen ausführen

Makro auf ausgewählt Zellen ausführen
26.05.2015 13:10:23
Christoph
Hallo,
ich habe mir ein Makro zur Formatierung meiner Zellen herausgesucht, welches so aussieht:
Sub eClass()
Dim a, b, c, d
a = Left(activeCell.Value, 2)
b = Mid(activeCell.Value, 3, 2)
c = Mid(activeCell.Value, 5, 2)
d = Right(activeCell.Value, 2)
activeCell.Value = (a & "-" & b & "-" & c & "-" & d)
End Sub

Wenn ich dieses ausführe, bewirkt es nur in einer Zelle eine Änderung. Ich würde aber das Makro gerne auf die gesamten, zuvor markierten Zellen ausführen. Kann mir hier jemand weiterhelfen?
Danke!
Gruß
Christoph

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro auf ausgewählt Zellen ausführen
26.05.2015 13:15:06
Rudi
Hallo,
Sub eClass()
Dim a, b, c, d
Dim r As Range
Application.ScreenUpdating = False
For Each r In Selection
a = Left(r.Value, 2)
b = Mid(r.Value, 3, 2)
c = Mid(r.Value, 5, 2)
d = Right(r.Value, 2)
r.Value = (a & "-" & b & "-" & c & "-" & d)
Next
End Sub

Gruß
Rudi

Anzeige
AW: Makro auf ausgewählt Zellen ausführen
26.05.2015 13:17:13
Christoph
Perfekt!
Vielen DANK!!!

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makro auf ausgewählten Zellen ausführen


Schritt-für-Schritt-Anleitung

Um ein Makro auf mehrere ausgewählte Zellen in Excel auszuführen, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne Excel und navigiere zu dem Arbeitsblatt, auf dem Du das Makro ausführen möchtest.

  2. Wähle die Zellen aus, auf die das Makro angewendet werden soll.

  3. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11.
  4. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf „VBAProject (DeinDateiname)“ > „Einfügen“ > „Modul“.
  5. Kopiere den folgenden Code in das Modul:

    Sub eClass()
       Dim a, b, c, d
       Dim r As Range
       Application.ScreenUpdating = False
       For Each r In Selection
           a = Left(r.Value, 2)
           b = Mid(r.Value, 3, 2)
           c = Mid(r.Value, 5, 2)
           d = Right(r.Value, 2)
           r.Value = (a & "-" & b & "-" & c & "-" & d)
       Next
       Application.ScreenUpdating = True
    End Sub
  6. Schließe den VBA Editor und gehe zurück zu Excel.

  7. Starte das Makro:

    • Drücke ALT + F8, wähle eClass aus und klicke auf „Ausführen“.

Nun wird das Makro auf alle ausgewählten Zellen angewendet.


Häufige Fehler und Lösungen

  • Fehler: Makro wird nur auf eine Zelle angewendet

    • Lösung: Stelle sicher, dass Du die Zellen vor dem Ausführen des Makros auswählst. Der Code muss eine Schleife (For Each) enthalten, um auf alle Zellen zuzugreifen.
  • Fehler: Fehlermeldung bei leeren Zellen

    • Lösung: Du kannst eine Überprüfung hinzufügen, um sicherzustellen, dass die Zelle nicht leer ist, bevor Du den Wert veränderst:
    If r.Value <> "" Then
       ' Dein Code hier
    End If

Alternative Methoden

Wenn Du kein Makro verwenden möchtest, kannst Du auch Formeln oder die „Suchen und Ersetzen“-Funktion nutzen, um ähnliche Aufgaben auszuführen. Allerdings ist ein Makro in diesem Fall viel flexibler und effizienter, insbesondere bei der Verarbeitung großer Datenmengen.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du das Makro anpassen kannst:

  • Formatierung von Telefonnummern: Wenn Du Telefonnummern im Format 1234567890 hast und sie in 12-34-56-78-90 umwandeln möchtest, kannst Du den Code entsprechend anpassen.

  • Datumsformatierung: Um Daten aus dem Format DDMMYYYY in DD-MM-YYYY zu formatieren, müsstest Du den Code ebenfalls ändern.


Tipps für Profis

  • Verwende Application.ScreenUpdating = False am Anfang des Makros, um die Leistung zu verbessern, wenn Du mit vielen Zellen arbeitest.
  • Speichere Dein Excel-Dokument als „Makro-fähige Arbeitsmappe“ (.xlsm), um sicherzustellen, dass Deine Makros gespeichert werden.
  • Teste das Makro immer zuerst an einer Kopie Deiner Daten, um unerwünschte Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich das Makro für andere Excel-Versionen verwenden? Ja, das Makro sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, wie Excel 2010 und neuer.

2. Was tun, wenn mein Makro nicht funktioniert? Überprüfe den Code auf Syntaxfehler und stelle sicher, dass die Zellen korrekt ausgewählt sind, bevor Du das Makro ausführst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige