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.

Excel Zellen löschen
#1
Hallo, habe ein Problem und komme nicht weiter - folgendes:
Habe eine Zeiterfassung erstellt und möchte folgendes Problem lösen.

In der Spalte "Code" kann in den Zellen für Dienst -"D", für Urlaub "U", für Krank "K" usw. eingetragen werden. Ich möchte wenn z.B. in der Zelle "F15" U oder K steht die Zellen
komme1, gehe1, komme2, gehe2 gelöscht werden - das funktioniert meines Erachtens nur mit VBA, oder?
Danke für die Hilfe!

[
Bild bitte so als Datei hochladen: Klick mich!
]


.xlsm   löschen.xlsm (Größe: 10,98 KB / Downloads: 11)
Antworten Top
#2
Hi Ubi,

so ganz verstehe ich dein Anliegen nicht. Wenn der MA krank oder im Urlaub ist, wird doch keine Anwesenheit eingetragen und muss dementsprechend doch auch nicht gelöscht werden?
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Das stimmt schon, aber ich möchte verhindern, dass Zeiten eingegeben werden!
Antworten Top
#4
Hi,

ich vermute, dass das tatsächlich wirksam nur mit VBA gelöst werden kann (kann dir dabei aber nicht helfen). Es gibt zwar die Möglichkeit, eine Eingabe über die Datenprüfung zu verhindern. Das klappt aber nur dann, wenn zuerst die Dienstart (U oder K) eingetragen wird. Auch C & P hebelt die Gültigkeitsprüfung aus.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#5
Danke Günther!
Antworten Top
#6
Hallöchen,

Kennst Du Dich ein bisschen mit Makros aus und dürftest Du die überhaupt verwenden? Du kannst im Codemodul vom betreffenden Tabellenblatt das Worksheet_Change - Ereignis nutzen. Allerdings muss man da einige Fälle betrachten, sowohl hinsichtlich der Zellen als auch hinsichtlich der zeitlichen Reihenfolge, z.B.

- Du kopierst eine oder mehrere Zellen oder ganze Zeilen in die betreffenden Zellen / Zeilen.
--> anschliessend muss man den kompletten überdeckten Bereich ("Intersection") auf die Konflikte prüfen
- Du trägst Zelle für Zelle erst Zeiten ein.
--> es wird bei jeder Eingabe in der Zeile geschaut, ob schon UK usw steht, ggf. werden die Zeiten gleich wieder gelöscht
- Du trägst erst UK ein
--> es wird bei jeder Eingabe in der Zeile geschaut, ob Zeiten stehen, ggf. werden diese gelöscht
- Du löschst etwas
--> sollte keine Auswirkungen haben. Es wird aber trotzdem jede Zelle im überdeckten Bereich geprüft, zumindest als Fallunterscheidung  wenn nix drin steht muss auch nicht auf UK oder Zeit geprüft werden.

Netterweise sollte eine Meldung ausgegeben werden, dass man mit dem Makro was löscht. Vielleicht sogar mit einer Fallunterscheidung, falls der Anwender versehentlich in der falschen Zeile UK eingegeben hat. Dann muss UK wieder weg und nicht die Zeiten.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Leider ist das mir ein wenig zu kompliziert - schade!
Antworten Top
#8
Hallöchen,

Du musst halt wissen, was wann zu passieren hat. Wenn Dir das zu kompliziert ist?

Der Code würde verhindern, dass eine Eintragung bleibt, wenn der code U oder K ist. Der code löscht die Eintragungen nicht, wenn nachträglich ein U oder K gesetzt wird. Der code reagiert auch nicht, wenn u oder k gesetzt ist. Der code macht auch nix, wenn ...

Zitat:Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Column = 7 Or Target.Column = 8 Or Target.Column = 11 Or Target.Column = 12) And _
(Cells(Target.Row, 6).Value = "U" Or Cells(Target.Row, 6).Value = "K") Then Target.Value = ""
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
Danke für die Info und Hilfestellung!
Wenn ich meinen Wunsch nochmals darstellen darf:

In der Spalte "Code" kann in den Zellen für Dienst -"D", für Urlaub "U", für Krank "K" usw. eingetragen werden. Ich möchte wenn z.B. in der Zelle "F15" U oder K steht die Zellen, dass in den Zellen "komme1","gehe1", "komme2", "gehe2" keine Daten eingegeben werden können - d.h. beim Versuch einer Eingabe wird automatisch diese gelöscht oder gesperrt - so wie in einer Datenbank.
Das Marko habe ich ausprobiert, funktioniert leider nicht wie mitgeteilt, sofern ich das richtig verstanden habe.

LG Ubi5
Antworten Top
#10
Hallöchen,

hast Du das Makro im Codemodul des Tabellenblattes eingefügt?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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