Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
292to296
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
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA-Code beim Schließen einer Datei

VBA-Code beim Schließen einer Datei
11.08.2003 11:07:13
Torsten K:
Hallo beisammen,
als VBA-Anfänger brauche ich mal Hilfe:
In einer Datei habe ich mehrere Arbeitsblätter. In dem Arbeitsblatt "Check" werden die Werte in den Zellen A1 und A2 miteinander verglichen. Wenn A1 <> A2 soll beim Schließen der Datei eine MsgBox (yes/no) erscheinen, die darauf hinweist, daß die Zellen unterschiedliche Werte haben. Der User soll über die MsgBox die Möglichkeit haben, die Daten zu ändern (auf yes) bzw. bei "no" Excel
die Datei weiter schließen zu lassen. Wichtig wäre noch, wenn der User auf "yes" klickt, daß er auf das Arbeitsblatt "Check" geführt wird.
Ich denke, daß das ein Code im Klassenmodul "Dieses Arbeitsblatt" mit "Workbook" und "Before Close" sein müsste.
Vielen Dank für Eure Hilfe im voraus.
Gruß
Torsten

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code beim Schließen einer Datei
11.08.2003 11:24:22
Andi_H
Hi Torsten,
versuch mal diesen Code.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
Dim antw As String
Set ws = Sheets("Check")
If ws.Cells(1, 1) <> ws.Cells(2, 1) Then
antw = MsgBox("In der Tabelle Check sind die Zellen A1 und A2 verschieden. Wollen Sie dies ändern?", vbYesNo + vbDefaultButton1)
If antw = vbYes Then
ws.Select
Cancel = True
Exit Sub
End If
End If
End Sub

Gruß
Andi

AW: VBA-Code beim Schließen einer Datei
11.08.2003 11:34:12
Michael Brüggemann
Hallo Torsten,
in "Diese Arbeitsmappe" kannst Du den folgenden Code hinterlegen:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wks As Worksheet
' Arbeitsblatt setzen
Set wks = ThisWorkbook.Sheets("Check")
' Zellen A1 und A2 vergleichen
If wks.Range("A1") <> wks.Range("A2") Then
' MsgBox mit zwei Buttons zur Abfrage verwenden
If MsgBox("Die Werte im Arbeitsblatt 'Check' in den Zellen " & _
"'A1' und 'A2' sind nicht identisch." & vbLf & _
"Möchten Sie die Werte korrigieren ?", vbYesNo) _
= vbYes Then
' Arbeitsblatt "Check" aktivieren
wks.Activate
' Cursor in Normalzustand zurücksetzen (sieht sonst "in Arbeit" aus)
Application.Cursor = xlDefault
' Schließen abbrechen
Cancel = True
End If
End If
End Sub

CIAO
Michael

Anzeige
AW: VBA-Code beim Schließen einer Datei
11.08.2003 12:14:48
Torsten K.
Hallo Michael,
vielen Dank für Deine Hilfe.
Hinweis:
Application.curser = xlDefault
funktioniert nicht.
Hierzu bekomme ich einen Laufzeitfehler 438 angezeigt.
Kommentiere ich diese Zeile aus, läuft der Code.
Gruß
Torsten

AW: VBA-Code beim Schließen einer Datei
11.08.2003 12:28:22
Michael Brüggemann
Hallo Torsten,
die Zeile muss heißen "Application.Cursor = xlDefault" (Cursor mit "o"). So klappts zumindest in Excel 97.
CIAO
Michael

AW: VBA-Code beim Schließen einer Datei
11.08.2003 13:10:21
Torsten K.
oje, oje
wer lesen kann, ist klar im Vorteil....
Danke für den Tipp.
Gruß
Torsten

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige