Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
920to924
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
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Commandbutton für eine best. Zeit deaktivieren
31.10.2007 10:38:00
Frank
Hallo.
Ich hoffe man kann mir hier ggfs. weiterhelfen. :-)
Ich habe in Excel 2003 ein Userform erstellt, welches beim Start der Arbeitsmappe für eine bestimmte Zeitspanne geöffnet bleibt und sich dann automatisch schliesst.
In diese Userform soll nun noch ein Button eingefügt werden, der durch anklicken die Userform schliesst. Allerdings soll der Button erst nach ca. 3-5 Sekunden anklickbar sein. Vorher soll er gesperrt bleiben.
Ist das überhaupt realisierbar den Button für eine bestimmte Zeitspanne zu deaktivieren?
Vielen Dank schon mal im Voraus für eure Mühe!
Gruß aus dem hohen Norden
Frank

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Application.OnTime ________oT
31.10.2007 10:47:17
Matthias

AW: Commandbutton für eine best. Zeit deaktivieren
31.10.2007 10:48:50
Andi
Hi,
dies ins Klassenmodul des UserForm:

Private Sub UserForm_Initialize()
CommandButton1.Enabled = False
Application.OnTime Now + TimeValue("00:00:05"), "Aktivieren"
End Sub


und dies in ein Standardmodul:
Sub Aktivieren()
UserForm1.CommandButton1.Enabled = True
End Sub


Schönen Gruß,
Andi

AW: Commandbutton für eine best. Zeit deaktivieren
31.10.2007 11:06:00
Frank
Vielen Dank!
Allerdings bekomme ich nun einen Laufzeitfehler angezeigt.....
Laufzeitfehler 13 - Typen unverträglich
Was nun?
Beim Starten der Arbeitsmapper ist unter "DieserArbeitsmappe" eingefügt: UserForm1.show und dieses wird mir beim debuggen gelb markiert.
Gruß
Frank

Anzeige
Beispielmappe
31.10.2007 11:22:00
Matthias
Hallo Frank
Eigentlich müsste es andersherum sein.
Der Fragende sollte seine Mappe hochladen und nicht ein potentieller Antworter eine Mappe nachbauen müssen!
Trotzdem, hier ist eine: https://www.herber.de/bbs/user/47293.xls
Userbild

AW: Beispielmappe
31.10.2007 11:51:00
Frank
hm..... irgendwie klappt das bei mir nicht....
Hier mal was in "DieserArbeitsmappe" bei mir steht:

Private Sub Workbook_Open()
UserForm1.Show
Sheets("Ausfüllblatt").Visible = xlVeryHidden
Application: Sheets("Planungsdatei").Activate
Application.CommandBars("Worksheet Menu Bar").Enabled = False
Application.CommandBars("Standard").Visible = False
Application.CommandBars("Formatting").Visible = False
Application.CommandBars("Control Toolbox").Visible = False
Application.CommandBars("Visual Basic").Visible = False
Worksheets("Januar").EnableSelection = xlUnlockedCells
Worksheets("Februar").EnableSelection = xlUnlockedCells
Worksheets("März").EnableSelection = xlUnlockedCells
Worksheets("April").EnableSelection = xlUnlockedCells
Worksheets("Mai").EnableSelection = xlUnlockedCells
Worksheets("Juni").EnableSelection = xlUnlockedCells
Worksheets("Juli").EnableSelection = xlUnlockedCells
Worksheets("August").EnableSelection = xlUnlockedCells
Worksheets("September").EnableSelection = xlUnlockedCells
Worksheets("Oktober").EnableSelection = xlUnlockedCells
Worksheets("November").EnableSelection = xlUnlockedCells
Worksheets("Dezember").EnableSelection = xlUnlockedCells
Worksheets("Zielvereinbarungen").EnableSelection = xlUnlockedCells
Worksheets("Planungsdatei").EnableSelection = xlUnlockedCells
Worksheets("Ausfüllblatt").EnableSelection = xlUnlockedCells
End Sub



Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Worksheet Menu Bar").Enabled = True
Application.CommandBars("Standard").Visible = True
Application.CommandBars("Formatting").Visible = True
Application.CommandBars("Control Toolbox").Visible = True
Application.CommandBars("Visual Basic").Visible = True
End Sub


folgendes steht bei mir bisher in "Userform1":


Private Sub UserForm_Activate()
Verzoegerung = Time + TimeSerial(0, 0, 20)
Application.OnTime Verzoegerung, "Ende"
End Sub



Private Sub UserForm_Click()
Application.OnTime Verzoegerung, "Ende", , False
Verzoegerung = Time + TimeSerial(0, 0, 20)
Application.OnTime Verzoegerung, "Ende"
Beep
End Sub



Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode  1 Then Cancel = 1
End Sub



Private Sub UserForm_Initialize()
CommandButton1.Enabled = False
Application.OnTime Now + TimeValue("00,00,05"), "Aktivieren"
End Sub



Private Sub CommandButton1_Click()
Me.Hide
End Sub


Hab es mit den Änderungen versucht aber es klappt irgendwie nicht. Wo könnte mein Fehler noch liegen?
Braucht ihr ggfs. noch mehr infos?
Danke und Gruß
Frank

Anzeige
AW: Beispielmappe
31.10.2007 11:54:00
Andi
Hi,
wie Matthias schon schrieb, am besten lädst Du mal Deine Mappe hoch, sonst müssen wir das Ding extra nachbauen...
Schönen Gruß,
Andi

AW: Beispielmappe
31.10.2007 12:00:44
Frank
würde ich gerne aber wird schlecht. ist eine Datei für die Arbeit und aus Datenschutzgründen kann/darf ich diese leider nicht uploaden... :-(
Ich gehe mal davon aus, das die eingefügten Codes von mir nicht aussreichen um mir ggfs. weiterzuhelfen, oder?
gruß Frank

AW: Beispielmappe
31.10.2007 12:05:37
Andi
Hi,
nachdem der Debugger ja schon bei der allerersten Code-Zeile (UserForm1.Show im WorkBook-Open), kann ich mir eigentlich nur vorstellen, dass es kein UserForm1 bei Dir gibt, bzw Du Dein UserForm anders genannt hast. Wenn's das nicht ist, komme zumindest ich ohne eine Beispielmappe nicht weiter.
Kannst Du nicht ne abgespeckte Version von der Mappe machen? Also die sensiblen Daten rauslöschen, bzw durch Dummywerte ersetzen, wenn's ohne nicht läuft?
Schönen Gruß,
Andi

Anzeige
AW: Beispielmappe
31.10.2007 13:03:56
Frank
so... hier nun mal eine abgespeckte Version.....

Die Datei https://www.herber.de/bbs/user/47298.xls wurde aus Datenschutzgründen gelöscht


hoffe das hilft weiter.....musste vieles rausnehmen.......Datei ist für ein Jahr (Januar bis Dezember)
Code für den Blattschutz ist "0".
Gruß Frank

AW: Beispielmappe
31.10.2007 13:24:30
Andi
Hi,
also den erwähnten Laufzeitfehler kann ich nicht reproduzieren.
Desweiteren wird in Deinem Code weder der CommandButton deaktivtert, noch wird die Akrtivieren-Sub aufgerufen. Dies habe ich eingefügt.
Im Klassenmodul des UserForm verwendest Du die Variable Verzoegerung in zwei Routinen (Activate und Click), allerdings wird ihr im zweiten kein Wert zugewiesen. Wenn Du den Wert verwenden willst, der im Activate-Ereignis zugewiesen wird, dann musst Du die Variable außerhalb der Routinen dimensionieren, so wie in meiner 8auskommentierten) Zeile.
Gewöhne Dir am besten ganz allgemein an, Variablen immer zu dimensionieren, setz am besten das entsprechnde Häkchen unter Extras, Optione, Editor im VB-Editor. Dies zwingt Dich dazu, sauber zu programmieren und Dir selbst drüber klar zu werden, welche Variablen Du wo und mit welchen Datentyp benötigst.
Hier geht's zur Datei:
https://www.herber.de/bbs/user/47299.xls
Schönen Gruß,
Andi

Anzeige
AW: Beispielmappe
31.10.2007 13:41:00
Frank
Super. Vielen Dank!!!!!!!!!
Ich werds nachher mal ausprobieren.
Leider finde ich "Gewöhne Dir am besten ganz allgemein an, Variablen immer zu dimensionieren, setz am besten das entsprechnde Häkchen unter Extras, Optione, Editor im VB-Editor." das nicht......hab Excel 2003.
Die ganzen Codes habe ich mir zu 95% von dieser Seite hier geholt, da ich mich mit VBA so gut wie gar nicht auskenne. Ein paar habe ich mir über den Makrorekorder zusammengestrickt... :-)
Ich finds aber super, das hier einem so schnell geholfen wird!!!!!!!
Zumindest weiß ich jetzt wo ich mich mal melden kann, wenn ich wieder mal Probleme mit Excel und VBA haben sollte... :-)
VIELEN DANK nochmal!!!!
Gruß Frank

Anzeige
gern geschehen
31.10.2007 13:51:00
Andi
Hi,
gern geschehen.
Leider finde ich "Gewöhne Dir am besten ganz allgemein an, Variablen immer zu dimensionieren, setz am besten das entsprechnde Häkchen unter Extras, Optione, Editor im VB-Editor." das nicht......hab Excel 2003.
Im VBA-Editor, unter Extras, Optionen im Reiter Editor das zweite Kästchen: Variablendeklaration erforderlich
Schönen Gruß,
Andi

AW: Commandbutton für eine best. Zeit deaktivieren
31.10.2007 11:51:00
Andi
Hi,
aber das muss ja vorher auch schon so gewesen sein, oder? Mit meinem Code kann das eigentlich nix zu tun haben...
Schönen Gruß,
Andi

162 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige