Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sheet deaktivieren für ein Tastenfeld

Sheet deaktivieren für ein Tastenfeld
16.02.2022 18:37:16
Sapphirewing
Hallo,
ich kenne mich sehr schlecht mit Sheets und Makros aus, und hoffe dass mir hier irgendwer helfen kann.
Ich habe einen Code, welcher den Benutzer darin hindern soll, die Tabelle zu schließen sofern in bestimmten Zellen noch kein Text angegeben wurde. Das funktioniert auch soweit gut. Allerdings soll das Dokument dann auch an einen anderen Benutzer versendet werden (ist für die Arbeit). Durch den Code kann ich selber die Excel-Tabelle jetzt aber auch nicht schließen, außer ich fülle die Zellen aus. Die sollen aber leer bleiben, die bearbeite ich ja nicht, sondern der, an den das Dokument dann geht.
Gibt es sowas wie eine "Oder-Codierung" in Excel?
Ich hatte daran gedacht, dass man ein Textfeld belegt, z.B. Alt+W o.Ä., mit dem das Makro dann deaktiviert wird und ich die Tabelle auch schließen kann.
Allerdings weis ich nicht, wie ich das mit meinem Code in Verbindung bringen kann.
Im Internet find ich auch nichts.
Das wäre mein aktueller Code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Quelle: ransi
Dim c As Range
For Each c In Worksheets("Tabelle1").Range("A1") 'Pflichtfeld A1
If c = "" Then
Cancel = True
MsgBox c.Address & " muss noch ausgefüllt werden"
c.Parent.Select
c.Activate
Exit For
End If
Next
End Sub
Ich wäre euch echt dankbar, für hilfreiche Antworten :)
Liebe Grüße

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheet deaktivieren für ein Tastenfeld
16.02.2022 18:50:24
AlterDresdner
Hallo,
vielleicht hilft das weiter:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Quelle: ransi
Dim c As Range, a
For Each c In Worksheets("Tabelle1").Range("A1") 'Pflichtfeld A1
If c = "" Then
If a = MsgBox(c.Address & " muss noch ausgefüllt werden. Um die Datei dennoch zu schließen, Abbrechen drücken", vbOKCancel) = vbOK Then
Cancel = True
c.Parent.Select
c.Activate
Exit For
End If
End If
Next
End Sub
Gruß
AW: Sheet deaktivieren für ein Tastenfeld
16.02.2022 18:58:33
ralf_b
brauch es denn wirklich eine Schleife für eine Zelle?
vielleicht sollen es noch mehr werden...owT
16.02.2022 19:01:20
AlterDresdner
AW: Sheet deaktivieren für ein Tastenfeld
16.02.2022 19:23:19
Sapphirewing
Vielen lieben Dank!
Allerdings hätte ich noch eine Verständnisfrage - wenn ich auf "OK" drücke, wie kann ich dann in der Excel Tabelle bleiben? Aktuell wird die Tabelle dann trotzdem geschlossen, aber sie soll ja nur geschlossen werden, wenn die Zellen (im richtigen Dokument dann L10:L30), also ja sind mehr als eine Zelle ;), noch leer sind, bzw. man auf Abbrechen geht.
Könntest du mir da bitte nochmal weiterhelfen?
Anzeige
AW: Sheet deaktivieren für ein Tastenfeld
16.02.2022 19:36:49
Sapphirewing
Vielen lieben Dank!
Allerdings hätte ich noch eine Verständnisfrage - wenn ich auf "OK" drücke, wie kann ich dann in der Excel Tabelle bleiben? Aktuell wird die Tabelle dann trotzdem geschlossen, aber sie soll ja nur geschlossen werden, wenn die Zellen (im richtigen Dokument dann L10:L30), also ja sind mehr als eine Zelle ;), noch leer sind, bzw. man auf Abbrechen geht.
Könntest du mir da bitte nochmal weiterhelfen?
AW: Sheet deaktivieren für ein Tastenfeld
16.02.2022 20:52:25
AlterDresdner
Hallo Lars,
sorry, mein Fehler. Ersetze mal
If a = MsgBox(c.Ad... durch
If MsgBox(c.Ad..., dann sollte es gehen.
Gruß der AlteDresdner
AW: Sheet deaktivieren für ein Tastenfeld
16.02.2022 21:06:43
Sapphirewing
Perfekt, jetzt funktioniert.
Hab vielen vielen Dank!!
Liebe Grüße
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige