Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1892to1896
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

Code sperrt manchmal falsche Excel

Code sperrt manchmal falsche Excel
09.08.2022 08:40:34
Michael
Hallo Zusammen,
ich habe eine Excel gebaut, welche durch eine Userform befüllt wird.
Beim Öffnen der Userform wird das Passwort der Datei aufgehoben - ein Datensatz wird in einer Tabelle durch die Userform ergänzt - und beim Beenden der Userform wird das Passwort für die Excel gesetzt.
Nun gibt es Kollegen, welche bei geöffneter Userform eine neue Excel-Datei öffnen.
Nun ist es vorgekommen, dass die parallel geöffnete Datei beim Beenden der Userform durch das PW gesperrt wurde...
Gebe es da eine Lösung, das zu verhindern ?
Vielen Dank
Michael

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim i As Integer
Dim myrow As Integer
Dim zelle As Range
On Error Resume Next
'Sicherheitsabfrage ob Synchronisiert werden soll
If MsgBox("Beenden ohne Synchronisieren?", _
vbQuestion + vbYesNo, "Sicherheitsabfrage!") = vbYes Then
Call MsgBox("Das Projekt wurde nicht synchronisiert!")
ActiveWorkbook.ActiveSheet.Protect Password:=1, AllowFiltering:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True, _
AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowSorting:=True
Exit Sub
Else:
CommandButton2_Click
End If
ActiveWorkbook.ActiveSheet.Protect Password:=1, AllowFiltering:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True, _
AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowSorting:=True
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Code sperrt manchmal falsche Excel
09.08.2022 08:55:49
Alwin
Hallo,
z.B. so:

Sheet("Tabelle1").Protect Password:=1
Gruß Uwe
das hilft nicht wirklich
09.08.2022 08:59:21
Rudi
Hallo,
1.: Sheets("Tabelle1").Protect Password:=1
2.: wird noch immer das Blatt in der aktiven Datei geschützt.
Gruß
Rudi
AW: Code sperrt manchmal falsche Excel
09.08.2022 08:57:21
Rudi
Hallo,
ersetze
ActiveWorkbook.ActiveSheet
durch eine vernünftige Referenz. z.B.
ThisWorkbook.Sheets("Datenbank")
Gruß
Rudi
AW: Code sperrt manchmal falsche Excel
09.08.2022 10:29:45
Michael
Hi Rudi,
super, vielen Dank für die schnelle Antwort.
Gerne würde ich versuchen auch "Merkern" eine vernünftige Referenz zu geben. Da wert sich VBA jedoch. Hättest Du/Ihr da zufällig auch eine Idee ?
myrow = activeCell.row - klappt
myrow = ThisWorkbook.Sheets("Übersicht").activeCell.row - klappt leider nicht...

Anzeige
AW: Code sperrt manchmal falsche Excel
09.08.2022 10:59:36
Michael
Hi Zusammen,
mit "myrow" habe ich in der Form gelöst, dass ich öfter "thisworkbook.sheets("Übersicht").activate" unterbringe.
Vielen Dank Euch allen !!!
Liebe Grüße
AW: Code sperrt manchmal falsche Excel
09.08.2022 11:05:07
Daniel
Hi
ActiveCell funktioniert nur im ActiveSheet im ActiveWorkbook
du kannst die Zelle, die der Anwender zuletzt ausgewählt hat immer nur im aktiven Workbook und im aktiven Sheet bestimmen.
Excel kennt zwar intern die aktive Zelle für jedes Blatt, aber es gewährt dir keinen Zugriff auf diese Daten.
wenn du also wissen willst, was im Sheet "Übersicht" die aktive Zelle ist, musst auch dieses Blatt aktiveren.
damit sich für den Anwender bei dieser Aktion nicht ändert, solltest du dir merken, was aktuell aktiv ist.

dim rngAlt as Range
set rngAlt = Selection
Thisworkbook.Activate
Sheets("Übersicht").Activate
myrow = activeCell.row
application.Goto rngAlt
Gruß Daniel
Anzeige
AW: Code sperrt manchmal falsche Excel
09.08.2022 13:51:23
Michael
Viele Dank Daniel !
So mache ich es !!!
Vielen Dank @ all !
Das hier ist ein super Forum !
Lieben Gruß
Michael

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige