Microsoft Excel

Herbers Excel/VBA-Archiv

Beim Sichern prüfen

Betrifft: Beim Sichern prüfen von: Air win
Geschrieben am: 01.11.2020 10:45:25

Hallo Forum,
ich habe leider wieder ein Problem, welches ich von euch gerne gelöst hätte:
In der beiliegenden Datei, möchte ich, dass beim Beenden geprüft wird, ob in der Zelle A1 ein Wert (rudi2828) enthalten ist. Wenn dies der Fall ist, dann soll der Zelleninhalt gelöscht werden und die Datei gesichert werden. Die Befehle 'Tabellenblätter_sichern_und_löschen' und 'Tabellenblätter_löschen' habe ich in einem separaten Makro.
Danke schon jetzt für eure Hilfe.
Air win

https://www.herber.de/bbs/user/141217.xlsm

Betrifft: AW: Beim Sichern prüfen
von: Herbert_Grom
Geschrieben am: 01.11.2020 10:50:32

Hallo,

du hast in deinem Makro diese Zeile: Selection.ClearContents

Mir ist dabei nicht klar, ob du den Inhalt von A1 löschen willst, oder ob der Cursor in einer anderen Zelle steht und du den Inhalt dieser Zelle löschen willst.

Servus

Betrifft: AW: Beim Sichern prüfen
von: Herbert_Grom
Geschrieben am: 01.11.2020 10:58:42

Außerdem schreibst du, dass beim "beenden" geprüft werden soll. Doch verwendest du nicht die "Private Sub Workbook_BeforeClose(Cancel As Boolean)"-Routine, sondern die "Private Sub Workbook_BeforeSave(Cancel As Boolean)"-Routine. Wann soll also geprüft werden?

Servus

Betrifft: AW: Beim Sichern prüfen
von: Air win
Geschrieben am: 01.11.2020 11:00:26

Hallo Herbert,
ja du hast recht ich möchte den Inhalt in A1 löschen. Ich vermute, dass hier der Befehl "Selection.Range("A1").Value = ..." richtig ist?
Gruß Air win

Betrifft: AW: Beim Sichern prüfen
von: Air win
Geschrieben am: 01.11.2020 11:06:12

Sorry Tippfehler, beim Sichern soll das Makro funktionieren.
Gruß Air win

Betrifft: AW: Beim Sichern prüfen
von: Herbert_Grom
Geschrieben am: 01.11.2020 11:07:25

Hallo,

hierzu brauchst du nicht "selektieren"! Es reicht "Range("A1").ClearContents".

Und im Ganzen:
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   If Range("A1").Value = "rudi2828" Then
      Range("A1").ClearContents
      ActiveWorkbook.Save
      Call Tabellenblätter_sichern_und_löschen
      Else
         Call Tabellenblätter_löschen
   End If
End Sub
Servus

Betrifft: AW: Beim Sichern prüfen
von: Air win
Geschrieben am: 01.11.2020 11:20:52

Vielen herzlichen Dank.
Gruß Air win

Betrifft: AW: Beim Sichern prüfen
von: Herbert_Grom
Geschrieben am: 01.11.2020 11:23:03

Gerne geschehen! Und danke für die Rückmeldung! Allerdings schreibst du nicht, ob es auch funktioniert bei dir!

Servus

Betrifft: AW: Beim Sichern prüfen
von: Air win
Geschrieben am: 01.11.2020 11:50:36

Ja, funkt alles.
Gruß Air win

Betrifft: AW: suuupi! owt
von: Herbert_Grom
Geschrieben am: 01.11.2020 12:32:53

,,,

Beiträge aus dem Excel-Forum zum Thema "Beim Sichern prüfen"