Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Immer nur Werte einfügen beim "Ziehen"
#1
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
Antworten Top
#2
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
Antworten Top
#3
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
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Seeqi
Antworten Top
#4
Super, der Code klappt genau so wie ich das gewünscht habe, vielen Dank :)
Antworten Top
#5
@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
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#6
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.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste