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

Forumthread: VBA einfügen immer an Zielformatierung anpassen

VBA einfügen immer an Zielformatierung anpassen
28.12.2018 13:37:16
Erik
Hallo zusammen,
gibt es eine Möglichkeit in Excel das einfügen eines Wertes immer an die Zielformatierung anzupassen?
Es soll sowohl über die rechte Maustaste, als auch über STRG & V
so sein.
Vielen Dank
und guten Rutsch
Erik
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA einfügen immer an Zielformatierung anpassen
28.12.2018 13:40:33
Hajo_Zi
Hallo Erik,
rechte Maustaste, Inhalte einfügen, Werte

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: VBA einfügen immer an Zielformatierung anpassen
28.12.2018 13:45:59
Erik
Hallo Hajo,
ich habe die Frage nicht ausführlich genug erklärt, sorry.
Das mit dem einfügen (so) wusste ich.
Das Problem ist das mehrere Personen auf die Excel Tabelle zugreifen und immer irgendetwas falsch formatiert einfügen. Entweder mit STRF & V oder halt nur über die rechte Maustaste (einfach) einfügen.
Kann ich in Excel über VBA eine Art Sperre bzw IMMER automatische Zielformatierung verwirklichen ?
LG
Erik
Anzeige
AW: VBA einfügen immer an Zielformatierung anpassen
28.12.2018 15:28:04
Erik
Hallo onur,
genau so etwas habe ich gesucht.
Allerdings beißt sich Dein Makro mit einem der meinen in der Tabelle.
Dim rng As Range
Dim rngZelle As Range
Set rng = Intersect(Target, Range(Cells(7, 5), Cells(Rows.Count, 5)))
If Not rng Is Nothing Then
For Each rngZelle In rng
If Not IsEmpty(rngZelle) And IsEmpty(rngZelle.Offset(0, 2)) Then rngZelle.Offset(0, 2).Value = "1"
Next
End If
If Not Intersect(Target, Range("G7:G250")) Is Nothing And Target.Count = 1 Then
Range("M" & Target.Row) = ("a")
End If
Wenn ich Dein Makro benutze kommt eine Fehlermeldung: Laufzeitfehler 1004
Die Methode 'Undo' für das Objekt '_Applikation' ist fehlgeschlagen.
Kann ich dieses Problem irgendwie umgehen?
Gruß
Erik
Anzeige
AW: VBA einfügen immer an Zielformatierung anpassen
28.12.2018 15:32:47
onur
Was ist das denn für ein Code von dir?
Du schriebst doch, es ginge um manuelles Einfügen.
AW: VBA einfügen immer an Zielformatierung anpassen
28.12.2018 16:24:32
Erik
Wenn eine Eingabe in Spalte E erfolgt wird in Spalte G eine 1 gesetzt und in Spalte M ein a.
AW: VBA einfügen immer an Zielformatierung anpassen
28.12.2018 16:26:11
onur
Wo steht der Code?
Im Change-Event?
Anzeige
AW: VBA einfügen immer an Zielformatierung anpassen
28.12.2018 16:26:16
Erik
sonst wird ja auch alles manuell eingegeben bzw eingefügt
AW: VBA einfügen immer an Zielformatierung anpassen
28.12.2018 16:27:42
onur
Setze dein Makro HINTER meins.
AW: VBA einfügen immer an Zielformatierung anpassen
28.12.2018 16:41:09
Erik
Hatte ich schon versucht.
Sobald ich etwas in Spalte E eingebe schmiert das Makro mit der besagten Fehlermeldung ab :-(
Gruß
Erik
Anzeige
AW: VBA einfügen immer an Zielformatierung anpassen
28.12.2018 16:42:25
onur
Poste mal die Datei.
;
Anzeige
Anzeige

Infobox / Tutorial

VBA einfügen immer an Zielformatierung anpassen


Schritt-für-Schritt-Anleitung

Um das Einfügen in Excel immer an die Zielformatierung anzupassen, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Anleitung:

  1. Öffne die Excel-Datei, in der du die Anpassung vornehmen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf "Einfügen" > "Modul", um ein neues Modul zu erstellen.

  4. Füge den folgenden Code in das Modul ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
        On Error GoTo ErrorHandler
        Application.EnableEvents = False
        If Not Intersect(Target, Me.Range("E:E")) Is Nothing Then
            Target.Offset(0, 2).Value = "1"
            Target.Offset(0, 7).Value = "a" ' Setzt "a" in Spalte M
        End If
    ErrorHandler:
        Application.EnableEvents = True
    End Sub
  5. Schließe den VBA-Editor und kehre zu deiner Excel-Datei zurück.

  6. Teste das Makro, indem du einen Wert in Spalte E eingibst. Der Code sollte automatisch in Spalte G eine "1" und in Spalte M ein "a" einfügen.


Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler 1004 - Die Methode 'Undo' für das Objekt '_Applikation' ist fehlgeschlagen.

    • Lösung: Dieser Fehler kann auftreten, wenn das Makro in einem ungültigen Kontext ausgeführt wird. Stelle sicher, dass du das Makro korrekt hinter der gewünschten Prozedur platzierst und keine anderen Makros im Konflikt stehen.
  • Fehler: Keine Änderungen in den Zellen.

    • Lösung: Überprüfe, ob das Makro in der richtigen Tabelle aktiviert ist. Möglicherweise musst du den Worksheet_Change-Event in das spezifische Arbeitsblatt-Modul einfügen.

Alternative Methoden

Wenn du keine VBA-Lösung verwenden möchtest, kannst du auch die Standardfunktion von Excel nutzen:

  1. Rechtsklick auf die Zelle, in die du einfügen möchtest.
  2. Wähle "Inhalte einfügen" und dann "Werte". Dies passt die Formatierung an die Zielformatierung an.
  3. Du kannst auch die Tastenkombination STRG + ALT + V verwenden, um das Inhalte einfügen Menü schnell zu öffnen.

Praktische Beispiele

Angenommen, du hast eine Tabelle mit Daten in Spalte E, und du möchtest beim Einfügen automatisch die Zielformatierung in Spalte G und M anpassen:

  • Beispiel: Wenn du in Zelle E7 die Zahl 10 eingibst, wird in Zelle G7 automatisch eine "1" und in Zelle M7 ein "a" gesetzt.

Das Makro sorgt dafür, dass alle nachfolgenden Einfügungen in Spalte E automatisch die gewünschten Werte in den benachbarten Spalten generieren.


Tipps für Profis

  • Verwende die Application.EnableEvents = False-Anweisung, um zu verhindern, dass das Makro sich selbst erneut auslöst, während es Änderungen vornimmt.
  • Teste dein Makro in einer Kopie deiner Datei, um sicherzustellen, dass es wie gewünscht funktioniert, ohne die Originaldaten zu gefährden.
  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler im Code zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um andere Spalten zu berücksichtigen? Du kannst die Zeilen If Not Intersect(Target, Me.Range("E:E")) Is Nothing anpassen, um andere Spalten zu überprüfen.

2. Gibt es eine Möglichkeit, das Makro nur für bestimmte Benutzer zu aktivieren? Ja, du kannst Benutzerberechtigungen in Excel verwalten, um zu steuern, wer das Makro ausführen kann, indem du den Code entsprechend modifizierst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige