POPUP CLOCK for Microsoft Excel
This utility is a COM add-in or add-in (.xla) programmed in Microsoft® Visual Basic® for Application (VBA) that generates a special static or dynamic popup clock in Microsoft Excel® to pick and count times. It makes it possible to insert times and time ranges (Time Picker) in Excel in easy ways using only the keyboard or only the mouse, or both. See the pictures below.
It consists of only one file, the ExcelClock.dll, which is about 560 kb in size and can be installed automatically using one of the installer package files available below to download. Except for the DLL, no other setting is saved in the Microsoft Windows® Register. Its setting is saved in ExcelClock.ini, ExcelClockHotKey.xla, and ExcelClock.xlam files that are created and maintained by the proper utility. You also can uninstall it automatically using the same installer file, leaving no mess on your Windows Register or disc.
Following items in this page:
- Pops up in small size
- Pops up close to the mouse cursor or optionally at the last saved position
- Can auto-popup when selecting cells with time formats or cells specifically defined to auto-popup
- Can pop up in four formats: normal, with count, with analogic display, with both (count and analogic), and iconized in cell. In the normal format, hours, minutes, seconds, and decimal seconds can be typed directly in a friendly text box or picked with mouse from a smart scroll bar. With analogic, hour, minutes, and seconds can also be picked with sensitive mouse-over-click. For the iconized in cell format, see the next feature
- Can auto-popup iconized in cell with few or any disturbances in five ways: Fading 0%, Fading 50%, Fading 90%, Fast Fading and Close, and Slow Fading and Close. If the icon is clicked, the normal or with formats pops up, if not, the icon goes away by itself when the Excel selection is changed
- Period count: days, hours, minutes, and seconds from a reference time
- When counting from a reference time, allows to increase and decrease days, hours, minutes, and seconds one by one through buttons or by inserting amounts directly in textboxes
- Count reference time always can start set with Zero time, or Same Start Display Time, or Last Set Reference Time, or Now’s Time but it also can be set on the fly by right-clicking interface controls
- Interface controls to go to now’s time or back start time
- Captures and inserts on the selected cell
- The behavior of insert can be set via menu to: Insert and Close, Insert Without Close, Add Break Line, and Add Tab
- If the insert cell includes a date in addition to a time, the existing date will be duly preserved and added to the returned time. For example, if a cell has 01/29/2010 01:22:21 as its value, only the 01:22:21 part will be captured and, if 05:13:11 is the return, the new cell value will be 01/29/2010 05:13:11. (Tip! To pick and count dates in a similar way but preserve the time part, use the Popup Calendar for Excel utility in this site too.)
- Specially, when counting from a reference time, a date-time in the first 1,000 days of the Excel date-time scale is captured as whole and inserted as a time, or as the case may be, a time with more than 24 hours and up to 1,000 days. For example, if a cell has 10/01/1900 01:22:21 as its value, 10 days and 01:22:21 will be captured as whole and, if 12 days and 08:29:59 is the return, the new cell value will be 10/01/1900 08:29:59
- Inserts without breaking the current thread of Excel ‘Undo’ command and any insertion can be normally undone by itself
- Can be called by the mouse right button (Context menu), or by a button in the Excel Standard toolbar (2007, 2010, or 2013 Ribbon Add-ins tab), or by a keyboard shortcut key set by the proper user (hotkey)
- Output can be a variant (date) (computer-readable/unformatted time) or one of these 18 string formats (human-readable/formatted time): Long Win (defined by Windows Control Panel); Long Win2 (Long Win with milliseconds); Medium Win (defined by Windows Control Panel); Short Win (defined by Windows Control Panel); hh:nn:ss (09:05:58); h:n:s (9:5:58); hh.nn.ss (09.05.58); h.n.s (9.5.58); hh-nn-ss (09-05-58); h-n-s (9-5-58); Long 1 (9 hours, 5 minutes, and 58 seconds); Long 2 (nine hours, five minutes, and fifty-eight seconds); Range 1 (09:05:58 from 00:00:00 to 09:05:58); Range 2 (9 hours, 5 minutes, and 58 seconds from 00:00:00 to 09:05:58); Range 3 (nine hours, five minutes, and fifty-eight seconds from 00:00:00 to 09:05:58); Range 4 (32,758 seconds from 00:00:00 to 09:05:58); Range 5 (545.967 minutes from 00:00:00 to 09:05:58); Range 6 (9.0994 hours from 00:00:00 to 09:05:58); and Range 7 (0.37914 days from 00:00:00 to 09:05:58)
- Above outputs may still accept milliseconds and days when counting from a reference time
- Output formats are listed in a sensitive menu according to current display time with immediate insertion and default output format redefinition to the next new instance
- Popping up from a time formatted cell, the output will always have variant (date) as default
- Can handle times from 0 to 12:00:00 PM or up to 1,000 days when counting from a reference time
- Supports multiple instances within a single instance of Excel with independent controls, settings, counting, and results. In practice quantities, there is no limit to the number of simultaneous instances
- Count reference time controls in all open instances or some of them can be attached to set simultaneously
- Attached controls are distinguished by asterisks in the caption
- Auto-popups can happen simultaneously in different cells, although no more than one in each cell
- Instances created in cell auto-popups are tied to the same start cells to output returns. In other popup types, this link is optional by way of a check box in the interface
- The feature of multiple instances can be disabled
- When multiples instances feature is disabled, there is an option to auto close when the Excel selection is changed
- Four menu commands involving the system clock (Windows clock). The first is an option to get the time with a precision of milliseconds. The second allows synchronization of the display with the system clock, changing it from static to dynamic; and it can even be used as a stopwatch if the count is being shown. (Tip! If you need more features involving stopwatch and countdown, use the Popup Stopwatch for Excel utility in this site too.) The third allows synchronization with accelerated counting (see next feature). The fourth makes it possible to set the system clock according to the time set on the display
- When selecting the "Synchronize with accelerated count" option, the count is shown and the display is synchronized with the system clock in an accelerated way to generate an accelerated count in relation to the set reference time. The default acceleration factor is x2, but it can be changed directly in the interface. The reference time can also be changed by its control in the lower left corner, or immediately by right-clicking on controls like “Go Start” or “Go Now”
- The display size can be adjusted through the borders to increase the font size from 8pt to until 32pt or decrease to until 4pt
- Can copy the time on display to Windows Clipboard. Tip! When inserting with Shift key pressed, the output is sent to Windows Clipboard instead
- Can paste on display existent time on Windows Clipboard
- Accepts the following hotkeys that make it possible to pick times only using the keyboard:
clock: Any hotkey defined by user
- The skin can be set up in: color and background picture, display and controls transparency, and hiding classic title bar
- Can unanchored its window from Excel window, making it possible that it is visible even if Excel window is minimized
- Can make its window is always on top in Windows
- The last opened setting or the last closed instance setting will be used as default in the next new instance
- Has menu commands to restore all default settings
- All instances running can be closed with a single click by selecting the Close All command in the menu
- Can be called directly from any VBA code through the fClock() function. See, soon below the pictures, a detail description of this function and examples of the VBA applications that use it
- Modal or Modeless
- Occupies less than 560 Kb when installed
Tested in Excel for Windows, versions 2000, 2002(XP), 2003, 2007, 2010 (32-bit), 2013 (32-bit), 2016 (32-bit), and 2019 (32-bit) in MSI-based and Click-To-Run installations of Office 365™ cloud-based services.
See also for Microsoft Access®, for Microsoft PowerPoint®, and for Microsoft Word.
The clock can be called directly from any VBA code through the fClock() function that has these 10 optional arguments:
1 - IniTime (Time, Default=Zero)
2 - RetTimeAsDate (Boolean, Default=True)
3 - WaitAndRetValue
(Long 0 to 2, Default=2). Where:
4 - FontDisplaySize (Long 4 to 32, Default=8)
5 - ShowAnalogic (Boolean, Default=False)
6 - AnalogicScalarPos (Boolean, Default=False)
7 - ShowCount (Boolean, Default=False)
8 - CountOfEachUnitIn (Boolean, Default=False)9 - LeftPos (String, Default="0")
10 - TopPos (String, Default="0"). Where LeftPos and TopPos are the distances in points (1/72 inches) from the center right side of the clock to the current mouse position. If the values are preceded by $ (dollar sign), LeftPos and TopPos turn to be the distances from left top corner of the clock to the left top fix corner of the screen. And yet, if there is only the $ without number, will be used the current default position.
1 - The code below calls the clock in modal to return time as variant (Date) to a userform.
2 - The code below calls the clock in modeless to return time in any of the output formats like in the right click command.
3 - Idem to capture and return time to active selection.
About Add-in (.xla):