Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBA 6.5 Countdown

Frage Entwicklung VB for Applications

Mitglied: Darth-Caedus-84

Darth-Caedus-84 (Level 1) - Jetzt verbinden

26.02.2011 um 22:54 Uhr, 6916 Aufrufe, 5 Kommentare

Problem beim Einrichten eines Countdowns mit Visual Basic 6.5

Hallo zusammen

Ich bin wahrscheinlich zu dumm, um Visual Basic 6.5 zu prgrammieren.

Ich wollte eigentlich ganz einfach einen Countdown mit einer vorgegebenen Zeit definieren und dass dieser beginnt herunter zu zählen und die verfügbare Restzeit in einem Label ausgibt. Leider hat sich hier die Logik mit VBA 6.5 geändert. Habe schon rauf und runter gegoogelt, leider ohne Erfolgt. Hier nochmals das genaue Ziel:

Countdown mit fix definierter Zeit soll beim Aktivieren eines CommandButtons beginnen und die restliche Zeit in einem Label ausgeben. Schön wäre noch, wenn es möglich wäre bei der Ausgabe Stunden, Minuten und Sekunden anzuzeigen.

Gruss
Caedus
Mitglied: bastla
27.02.2011 um 00:35 Uhr
Hallo Darth-Caedus-84!

Das könnte etwa so gehen:
01.
Zeit = TimeSerial(3, 20, 0) '200 Minuten 
02.
Ende = Now + Zeit 
03.
Pause = 1 / 87000 'etwas weniger als eine Sekunde 
04.
Do 
05.
    Label1.Caption = FormatDateTime(Ende - Now, vbLongTime) 
06.
    Application.Wait Now + Pause 
07.
Loop Until Now >= Ende
Alternativen findest Du zB hier (wobei die Variante mit "WScript.Sleep" unter VBA nicht funktioniert) ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
27.02.2011 um 11:07 Uhr
Bitte warten ..
Mitglied: Darth-Caedus-84
27.02.2011 um 13:00 Uhr
Hey bastla

Supi, thx für die schnelle Antwort, es funktiert. Jedoch nocheine kurze Anschlussfrage. Wie muss ich das Ganze ergänzen, wenn ich möchte, dass ich während dem Countdown z. Bsp. andere CommandButtons normal betätigen kann? Dies geht ja bei der obgenannten Variante leider nicht.

Gruss
Caedus
Bitte warten ..
Mitglied: bastla
27.02.2011 um 13:21 Uhr
Hallo Darth-Caedus-84!

Versuch es mit der API-Variante - dazu müsstest Du dann in der Schleife die Zeile 6 durch einen Aufruf von "Sleep" ersetzen ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
27.02.2011 um 13:24 Uhr
Hallo bastla!

Zitat von bastla:
Versuch es mit der API-Variante - dazu müsstest Du
dann in der Schleife die Zeile 6 durch einen Aufruf von "Sleep" ersetzen ...
Das hatte ich schon versucht und funktioniert leider nicht (von daher obigen Kommentar entfernt)

@Darth-Caedus-84!

Andere Möglichkeit für Dein Vorhaben wäre z.B.

UserForm:
01.
Private Sub CommandButton1_Click() 
02.
    Zeit = Now + TimeSerial(0, 1, 0) 'Std, Min, Sek 
03.
    Call CountdownRefresh 
04.
End Sub
Modul:
01.
Public Zeit As Date 
02.
 
03.
Sub ShowUserForm() 
04.
    UserForm1.Show 
05.
End Sub 
06.
 
07.
Sub CountdownRefresh() 
08.
    If Now > Zeit Then 
09.
        'Mach was oder auch nicht! 
10.
    Else 
11.
        UserForm1.Label1.Caption = FormatDateTime(Zeit - Now, vbLongTime) 
12.
        Application.OnTime Time + 0.0000114, "CountdownRefresh" 
13.
    End If 
14.
End Sub
Wobei das Contdown-Label praktisch im Hintergrund aktualisiert wird.

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VBA - Welchen Inhalt hat eine Zelle die mit der Taste Enft geleert wird? (3)

Frage von Juckie zum Thema VB for Applications ...

VB for Applications
gelöst Mehrere Mail Vorlagen in VBA Skript verwenden (4)

Frage von o0Asia0o zum Thema VB for Applications ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Windows Server
Server mit Netzwerkaussetzern (18)

Frage von SarekHL zum Thema Windows Server ...

Server-Hardware
gelöst SPP von HP Abwärtskompatibel? (14)

Frage von fireskyer zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

Frage von CrystalFlake zum Thema LAN, WAN, Wireless ...