Clever-Excel-Forum

Normale Version: Immer nur Werte einfügen beim "Ziehen"
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe vor einiger zeit angefangen mir ein Dispositionstool mit kleinen VBA basierten Hilfen zu basteln, hier kommen mir immer wieder Verbesserungsideen die ich dann versuche so gut es geht mit Youtube oder eben dem Forum hier einzuarbeiten, bis jetzt habe ich hier auch immer Kompetente Hilfe bekommen :) hoffe es ist auch heute so Big Grin .

Also in dem Tool wo die Stammdaten für die Jahresplanung hinterlegt sind sind die Monate farblich unterschiedlich um eine sauberere Übersicht zu schaffen.
Nun meldet sich Mitarbeiter X vom 28.01 - 05.02 Krank...was passiert? der Disponennt schreibt am 28.01 ein K rein zieht den ganzen kram rüber und schon habe ich in meinem Grünen Februar ein stück blauen Streifen vom Januar...
Das Kann ich nicht mehr mit ansehen Big Grin .

Also ich hätte gerne das man nur auf diesem Arbeitsblatt beim rüber ziehen immer nur werte einfügt und die Formatierungen nicht ändert.

Ist sowas möglich?

Vielen Dank schonmal für euren Einsatz.

LG Seeqi
Hi,

ich würde die grafische Darstellung von der Speicherung trennen. Dann wird nichts mehr gezogen, sondern ein Datensatz mit den Feldern Mitarbeiter, Abwesenheitsgrund, von und bis erzeugt. Die Daten werden dann nur noch im Kalender zu einem K interpretiert und schick dargestellt.

Viele Grüße
derHöpp
Hallo

Allgemein für das ganze Blatt z.B. so. Solltest du evtl. auf den Eingabebereich begrenzen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Werte, Ad As String
Application.EnableEvents = False

Ad = Target.Address
Werte = Target.Value
Application.Undo
Range(Ad).Value = Werte

Application.EnableEvents = True
End Sub
Gruß Elex
Super, der Code klappt genau so wie ich das gewünscht habe, vielen Dank :)
@Elex:
Mal ganz doof gefragt: wieso brauchst du die Variable Ad? Würde hier nicht folgendes reichen?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Werte
Application.EnableEvents = False

Werte = Target
Application.Undo
Target = Werte

Application.EnableEvents = True
End Sub
Hi

Zitat:Mal ganz doof gefragt: wieso brauchst du die Variable Ad? Würde hier nicht folgendes reichen?
Gar nicht. 19 

Schnell fertig war die Idee dahinter. Dabei wurde nicht lange darüber nach gedacht das Undo ja nur die Selection ändert, sich dass aber nicht auf Target auswirkt.