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.

Abfrage vor Datenänderung
#1
Smile 
Hallo zusammen,

ich bin super neu in der EXCEL-Welt angekommen und beschäftige mich gerade damit einige Arbeitsprozesse mit Excel zu optimieren.

Aktuell sitze ich an der Erstellung einer Datenbank die von mehreren Mitarbeitern genutzt und auch gepflegt werden soll. Das hierbei natürlich einige Fehlerquellen entstehen können, bereitet mir ein bisschen Sorge. In meiner Vorstellung, könnte ich das Risiko durch zwei Funktionen minimieren.

Da ich aber keine Ahnung habe ob und geschweige denn wie das machbar ist, freue ich mich über euren Input.

Die Datei besteht aus 3 Tabellenblättern.

Nr. 1 enthält feststehende Daten, diese sind schreibgeschützt.
Nr. 2 enthält Datensätze die mehrer Mitarbeiter bearbeiten. Sie müssen Daten löschen, verändern und neue hinzufügen
Nr. 3 ist das ganze miteinader Verknüpft und enthält schnell erfassbare Infos aus den beiden anderen Tabellen

PROBLEM 1
Kann ich das Tabellenblatt 3 irgenwie schreibschützen, und trotzdem die Filteroption beibehalten? Hier soll nur verhindert werden, dass versehentlich irgendetwas gelöscht oder verändert wird. Die Daten müssen aber je nach Abteilung unterschiedlich gefiltert werden.


PROBLEM 2
Kann ich Excel dazu bringen, dass bei Änderungen im Tabellenblatt Nr.2 ein Fenster aufploppt mit der Abfrage "Bist du sicher, dass du diese Daten ändern willst?". Bei Bestätigung soll es dann kein Problem mehr sein, Daten zu löschen/ändern/hinzuzufügen.


Ich lerne gerade VBA/Makros in Eigenregie und stehe noch relativ am Anfang. Freue mich daher mega über Hilfe! :)

LG Eva <3
Antworten Top
#2
Hi Eva,

zu deinem ersten Problem: bevor du den Blattschutz setzt, musst du in den Optionen "Alle Benutzer dieses Arbeitsblattes dürfen.." bei "Autofilter verwenden" ein Häkchen setzen.

Dein zweites Problem dürfte nur mit einem Makro zu lösen sein - da müssen dir die VBA-Spezies helfen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • Eva-Steinfrank
Antworten Top
#3
(02.07.2019, 14:39)Eva-Steinfrank schrieb: PROBLEM 2
Kann ich Excel dazu bringen, dass bei Änderungen im Tabellenblatt Nr.2 ein Fenster aufploppt mit der Abfrage "Bist du sicher, dass du diese Daten ändern willst?". Bei Bestätigung soll es dann kein Problem mehr sein, Daten zu löschen/ändern/hinzuzufügen.
Das wird sicher eine tolle User-Experience.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#4
Hallo Eva,

willkommen bei Excel und willkommen im Forum.

Zum Einstieg hast du dir aber schon ganz schön etwas vorgenommen. Dein 2. Problem sehe ich grundsätzlich wie shift-del, aber für die als Einstiegshilfe:

Im VBA-Projekt gibt es zu jedem Tabellenblatt ein Code-Fenster: Doppelklick auf die gewünschte Tabelle im Projekt-Explorer (Strg-R). Im rechten Fenster hast du oben zwei Drop-Down Felder, links schaltest du um zwischen "(Allgenmein)" und "Worksheet".

Wählst du hier "Worksheet", kannst du im rechten Dropdown viele Ereignisse auswählen, die du dann per VBA-Code abrufen und darauf reagieren kannst. So z.B. "Change", was ausgelöst wird, wenn etwas an deiner Tabelle geändert wird. Bei diesem Ereignis könntest du also eine Abfrage einfügen, ob die Änderung gewünscht wird. Aber: probiere das mal aus, dann verstehst du, was shift-del meint Wink

Kleiner Tipp: Zum Ausprobieren arbeite ich sehr häufig mit dem Befehl "debug.print", mit dem du Ergebnisse in das Direktfenster ausgeben lassen kannst. Probiere eine solche Abfrage eines Ereignisses am besten vorher damit, bevor sich deine User beschweren, dass sie nicht mehr arbeiten können Wink

Viel Erfolg!
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top
#5
Hallöchen,

um mal auf das Tabellenblatt 2 zurückzukommen - ein Code dafür wäre dieser:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If MsgBox("Änderung Übernehmen", vbYesNo) = vbNo Then Application.Undo
Application.EnableEvents = True
End Sub

Die Änderungen werden bei "Ja" übernommen und bei "Nein" rückgängig gemacht.

Soll die Frage nur 1x kommen und dann mehrere Änderungen ohne erneute Frage möglich sein, müsste man anders oder etwas mehr programmieren. Man könnte z.B. so programmieren, dass die Frage nur beim Öffnen der Datei kommt oder wenn man auf das Tabellenblatt wechselt oder …


Wo der Code hinkommt, dazu hatte LuckyJoe ja schon was geschrieben.
.      \\\|///      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