Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchfunktion inaktiv bei ActiveWorkbook.ReadOnly

Forumthread: Suchfunktion inaktiv bei ActiveWorkbook.ReadOnly

Suchfunktion inaktiv bei ActiveWorkbook.ReadOnly
02.01.2008 14:14:00
Stefan
Hallo
ich habe folgenden Code verfasst:

Private Sub _
Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveWorkbook.ReadOnly Then
Else
Dim Beginn As Date
Dim Pause As Date
Dim Ende As Date
Beginn = Timer
Pause = 300
Do Until Timer > Beginn + Pause
DoEvents
Loop
Ende = Timer
Me.Save
Me.Close
End If
End Sub


Wenn ich nun das Dokument ohne Schreibschutz öffne, ist eine Suche (STRG+F) immer nur einmal möglich. Anschließend regiert die Tastenkombi nicht mehr. Ich muss erst das Dokument schließen und neu öffnen, dann klappt die Suche wieder genau einmal.
Ist das Dokument schreibgeschützt geöffnet kann ich die Suche mehrfach verwenden.
Vielen Dank für Eure Hilfe und ein gesundes 2008.
Stefan

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion inaktiv bei ActiveWorkbook.ReadOn
02.01.2008 14:33:40
Rudi
Hallo,
sowas macht man über die OnTime-Methode und nicht über ein permanent laufendes Makro.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Suchfunktion inaktiv bei ActiveWorkbook.ReadOn
02.01.2008 14:46:00
Stefan
Hallo Rudi
Vielen Dank. Da ich aber blutiger Anfänger bin, kann ich mit der On Time Methode nicht so viel Anfangen.
Kannst Du mir ein Beispiel senden?
Gruß Stefan

Anzeige
AW: Suchfunktion inaktiv bei ActiveWorkbook.ReadOn
02.01.2008 15:31:00
Rudi
Hallo,
in DieseArbeitsmappe:

Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.ReadOnly Then
Application.OnTime dteVerlassMich, "VerlassMich", False
Else
ThisWorkbook.Saved = True
End If
End Sub
Private Sub Workbook_Open()
If Not ThisWorkbook.ReadOnly Then
dteVerlassMich = Now + TimeSerial(0, iMinuten, 0)
Application.OnTime dteVerlassMich, "VerlassMich", True
End If
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Not ThisWorkbook.ReadOnly Then
Application.OnTime dteVerlassMich, "VerlassMich", False
dteVerlassMich = Now + TimeSerial(0, iMinuten, 0)
Application.OnTime dteVerlassMich, "VerlassMich", True
End If
End Sub


in ein Modul:


Option Explicit
Public dteVerlassMich As Date
Public Const iMinuten As Integer = 1
Sub VerlassMich()
ThisWorkbook.Close True
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige