Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
TimeTable Visio is a Microsoft Visio plugin that imports CPM schedules into a format that is easier to comprehend.
Welcome to the documentation for TimeTable Visio!
Timetable Visio is a way to view CPM schedules. It takes your schedule and puts it in TimeTable format. TimeTables are Timescaled Logic Diagrams (TLSD). Similar to Gantt charts, TimeTables are charts where the X-axis represents time and the y-axis represents tasks. Unlike Gantt charts, more than one task can appear on the same line in the y-axis.
We like to think that your CPM schedule that you've created in your scheduling software is the single-source-of-truth. This means any changes you want to make to your schedule should be done in its authoring tool.
TimeTable is also a planning tool. You can create Tasks, without logic, and place them freely on your TimeTable. This is great for quick & collaborative planning sessions.
TimeTable is not a CPM scheduling tool. It is just a reporting tool. Any changes made in TimeTable are not communicated in any way back to the schedule authoring tool you used.
Imported Activities and WBS are locked horizontally to prevent any changes.
TimeTable Visio is a plugin for Microsoft Visio. 32-bit and 64-bit are both supported all the way back to Visio 2010. The installer can be found in the installation section of this guide.
TimeTable Visio does not store your project files or information on our servers.
The exception is if you specifically ask us to look at a Project for the purpose of customer service.
Send a request to help@timetable.app
We're working hard to constantly improve our documentation.
Let us know of any improvement suggestions to the docs at help@timetable.app
If you're new, you should start with the guide, which gives you an overview of the tool.
We use a third party service called to provide customer support.
A super quick guide to getting it done.
Once the plugin is installed, you'll need to open a Visio Template
To start a new TimeTable Project you'll need to open the TimeTable Visio template. If you've just installed TimeTable for the first time, then you'll likely need to navigate through the list of templates to find the TimeTable template. If you don't already see it when you first launch Visio then go to Categories (or Personal) → Buildfore → and the Template is here...
There is a quicker way to start a new TimeTable. Hit Start --> and just type "timetable" until the New TimeTable template you need appears.
TimeTable uses set scales, for example 1 day = 1/4" or 1 day = 20mm. If you'd like to use inches then pick an Imperial Template, otherwise millimeters are used in the Metric template.
Things you need to know about Visio to get the most out of TimeTable
TimeTable is a plug-in for Microsoft Visio. This means that TimeTable runs inside of Visio. This also means that you need to know Visio to get the most out of TimeTable. This page focuses on Visio's features and quirks, to try to minimize frustration.
Holding down the Ctrl key and using your mouse scroll wheel is probably the best way to zoom. Becase the zoom center is whereever your cursor is, it's also the best way to navigate around a page.
Zooming in and out is usually enough to not have to pan but just in case: holding down the space key while using the left click on your mouse is one way.
For those who are interested in the background details and how TimeTable leverages Visio tools.
WBS (Work Breakdown Structure) are the current standard organizational structure convention used in schedules. Before WBS was used, Activity Codes (think tags or hashtags) were prominent in the construction industry in the 20th century. The 21st century brought in a hierarchy and thus WBS was born.
WBS Containers are locked by default, which means no tasks can be moved out or deleted from them without unlocking them first. This can be done in the Ribbon.
Activities, Tasks, and Milestones are all technically the same 2D shape in Visio.
Links are 1D shapes that represent the relationship between tasks.
Visio uses shapes called , that puts a box around other shapes. TimeTable uses containers to group WBS. In the diagram above, there are 2 containers with Phase 1 nested in Construction.
Windows 7, 8.1, 10 and Windows 11 are all supported. Additionally, a copy of Microsoft Visio 2010 or newer is required. Visio Standard, Professional, and Online Plan 2 are all supported. 32-bit and 64-bit are both supported as well.
We no longer offer TimeTable to the public. You can request access to TimeTable by using the "Request Access" button at the top of this page and filling out the form.
When the installer is finished downloading, make sure Visio is closed and run the installer.
These are the known file formats that work with P
TimeTable Visio supports importing schedules that are saved as an XML in the Microsoft Project Schema.
To save or export from Microsoft Project to XML click on File --> Save As --> Browse . --> when prompted choose to Save as Type: XML.
Microsoft Project saves in the appropriate schema by default.
In Primavera P6, open the project that you want to export, then go to File → Export… → and choose Primavera P6 - XML.
To export a Oracle Primavera Cloud project, click on the Project Selector in the top left, and then View All Projects, you'll then be shown a table of projects, click on Actions dropdown and select Export P6 XML… command.
The file types that are no longer supported include: .
.xer (Oracle no longer supports this format, instead use P6 XML)
.mpp or .mpx (instead use Microsoft Project XML)
.sp - Synchro
.p3 - P3
.stx - Suretrack
.pp - Asta PowerProject
.ppx - Phoenix Project Manager
With the exception of P3 and Suretrak (which were deprecated over 2 decades ago), all of these softwares can export to Microsoft Project XML, which can be imported into TimeTable.
Effective June 2021, we have stopped supporting any formats other than Microsoft Project XML and Primavera XML.
The TimeTable Visio plug-in includes a set of commands in the ribbon that you'll need to work with your schedule.
This page will break down the ribbon into panels.
When you open a TimeTable Template to create a new project, you'll be prompted to import a schedule. If you've dismissed this window you can bring it back by clicking on the Import command in the Schedule Tab.
This Tab is where you can make changes to the TimeTable.
The Configure command will open the Configure TimeTable window:
The Configure TimeTable Window allows you to change the scale, date range, and included WBS of your schedule.
Related:
This will zoom and center the selected task or WBS on your screen. Both of these can be selected in the Outline Window.
With this box it checked, it will put a vertical red line on the TimeTable. The Data Date, in most scheduling software, is the last day the schedule was updated. This is important because if your data date was 3 months ago, then–especially in construction–then your schedule is likely outdated.
The Outline Window command opens the Outline Window. More like a project explorer, the Outline Window presents many tool, including the ability to manage legends, move WBS containers between pages, and manage styles.
This command is used exclusivley for WBS Containters
We recommend Windows 11 64-bit and Microsoft Visio Online Plan 2 with the 64-bit desktop installer. You can get Visio at
From October 2019 to June 2021, TimeTable supported most formats included in the documentation. Due to many factors, including richness of data, quirks with different formats, performance, and lack of adoption, we've decided to stop supporting these added file types.
This command will change the ratio only of the page to match the printer page destination. For example, if you'd like to print to an 11x17 Tabloid, but your existing TimeTable is 3'-5" wide and 14" tall, half of the 11"x17" will be blank. Resizing it will change the height only of your TimeTable (the width can be changed only by adjusting the scale and date range in the ).
The Data Date is extracted from the imported schedule. Currently, there is no way to manually place a data date (other than using built-in Visio tools ) .
How to get the most out of TimeTable, and your schedule
Color coding was one of the many super powers of TimeTable. Most choose to color code according to trade or scope of work. No matter how you decide to color code, putting that data in your single-source of truth
When setting up Activity Codes in Primavera P6, any colors you assign to Activity Code Values will automatically be imported into TimeTable.
You can also set colors in Oracle Primavera Cloud, but they are not included in the XML import as of September 2021. We've reached out to Oracle to change this and will update this article and notify users if this changes.
In Microsoft Project, color coding User Defined Fields (UDFs) is not supported.
Double check your critical path and float values. TimeTable can automatically highlight all activities that meet certain Total Float thresholds.
Some points to remember to assure a good quality:
Make sure all activities (except the first and last) have a predecessor and successor
Use Lags not Leads (Lead is negative lag) in relationships
No hard constraints (i.e. Must Start On), and limit soft constraints (i.e. Must Start on or After)
Keep activity durations, Total Floats, and lags less than 2 months long
Activities with many predecessor and successors should probably be a Milestone
Its always nice to have current information. Do your team a favor and give them a schedule that has been updated recently.
Activities that have started or are completed will show hashing.
TimeTable can hide non-driving relationships and relationships between Activities within the same WBS. However, having an average of more than 5 relationships total for each activity can be a nightmare for managing changes as the project progresses, not to mention it affects performance in Visio.
The best way to make sure your project has a realistic Critical Path is by following the .
These instructions are for the new TimeTable UI scheduled for release in February 2022.
Construction schedules can often run several years long. However, most of the schedules you print are usually for a Near Term window and often only include 2-3 months worth of time. Fortunatley, TimeTable lets you create a Print Range that automatically crops Activities, timescales, and all other TimeTable shapes to the print window without cutting off their labels.
In the Ribbon, look for the TimeTable Ribbon Tab, and in the Showpanel look for the Checkbox that says Print Mode. Uncheck Print Mode to get into Plan Mode and vice-versa.
You don't need to be in Print Mode to change the dates of Print mode. To change what get's printed go to the View Tab in the Ribbon and in the Setup Panel click on the Page Width command. This will open up the Page Width modal dialogue.
TimeTable makes it easy to print to a certain page size. Setting the number of Pages wide is a quick way of keeping the page dimensions while moving the date range forward. Simply adjust the Start Date and the Finish Date will adjust accordingly to keep the number of pages wide (along with page size and orientation).
Sometimes you'll need a date range that doesn't translate into a specific page width. This is especially true when printing Overall Project Schedules (OPS).
To use custom page widths, set the Pages wide to Custom. This unlocks the Finish Date and lets you set it to whatever you want.
Schedule Updates are a normal part of the project schedule lifecycle.
If your Primavera or Microsoft Project has been updated and you'd like for those new updates to be reflected in an existing TimeTable project, follow the instructions below to get that done.
Verify the project xml you have matches the project in TimeTable.
Confirm that the DataDate in the new XML is from the same day or newer than that of the TimeTable.
Save a Copy of your Visio file with a new date, just in case you want to reference the original TimeTable.
Hit the update button
You'll be prompted to select the new XML file.
You will see a Update Summary dialogue to confirm what's changed.
You'll need to manually navigate to each page before you Save or Save as PDF for changes to be captured.
When you get this warning it may be because the Primavera or Microsoft Project was moved or copied from its original database. Sometimes these projects can still be updated but must be done at the request of the TimeTable support team. Please contact Daniel Soliman for more information.
Data Dates are important in scheduling. We currently require that projects be updated with XML updates. Sometimes these projects can still be updated but must be done at the request of the TimeTable support team. Please contact Daniel Soliman for more information.
TimeTable supports Primavera P6 XML and Microsoft Project XML. However, if you're updating a TimeTable project the xml schema must be the same as the original. Meaning if you started with Primavera you must stay with Primavera, or if you started with Project you must continue with Project.
Learn how to hide and
Unlike CPM software, to start scheduling a project, you need have a general idea of when your project starts and finishes. You can change these as needed, but you'll need to know the general duration of your project.
In May 2021, we released a version that introduced the concept of Project Start and Finish.
In TimeTable, you can set a Project Start and Finish, but because you can have multiple pages in Visio, these pages can have separate dates from each other, as long as they're within the project dates.
When you need the same task to appear on multiple pages they need to have the same information.
Managing a construction project with hundreds or thousands of tasks can be difficult. Thankfully, TimeTable has made things easier.
Synchronised copies are shapes you can re-use across your project. They help to keep data consistent across pages.
You can create a Synchronized Copy from one or more of the following shapes:
Manual Tasks
Manual Milestones
Comment
Group Header
onto a different page, you'll be prompted with the option to create a Synchronized Copy.
When a user creates a Synchronized Copy instead of just pasting the following things happen:
They'll automatically include any relationships between copied Manual Tasks & Milestones, whether the relationships are selected or not
Only one instance of a Synchronized Copy can exist on any one page at a time.
Synchronized Copies always share the same dates, progress, legend values, float, relationships, etc. Everything is exactly the same.
If a relationship between two Synchronized Copies is deleted or any other data (including Lag) is changed, its other instances on other pages will delete or change accordingly.
When attempting to delete a Synchronized Copy, you'll be able to choose if you want to delete just the instance from the page or the synchronized copy everywhere.
Synchronized Copies look and behave identical to regular Tasks and Milestones with a few exceptions:
The labels are double underlined
Context Menu (right-click) option "Appears on >" with submenu showing each page the clone appears on, the command will take the user to the clone on that page
Context Menu (right-click) option "Call Out >" with submenu also showing each page, with command changing the page reference on the Call Out shape. If no Call Out Shape is connected, this will create one.
Context Menu (right-click) option "Desynchronize"
Ctrl+Click will jump you to the other instance of the copy.
In addition to the double underlines, Synchronized Tasks and Milestones will get Call Out Shapes. Call Out Shapes are Half-inch Circles with a leader line indicating what other page the clone appears. The shape can only reference one page but can be different on each page for each clone.
Call Out Shapes will, by default, reference the page the Synchronized Copy was copied from. However, users will be able to change the reference page via contextual menu, and be able to delete call outs altogether.
Since call out shapes are only for Synchronized Tasks & Milestones, they are not shown in the document stencil, and instead can only be added via contextual menu.
Assigning Responsible to multiple activities or tasks.
Manual Mode was introduced in February 2021. It was born out of a few needs:
Either , you need to create a schedule but don't want use CPM Scheduling software (i.e. Primavera or MS Project)
or you don't know how to use CPM scheduling software, like most people
or, you don't need the Critical Path Method (CPM), it just adds unneeded complexity.
Put simply, manual mode allows you to create a blank time-scaled page, with a timescale, and put down tasks, milestones and other shapes wherever you want in time and space.
The benefits:
Create a schedule in minutes not hours
No technical training required
Read more to see how it works.
Everything you need to know about links
Relationship Links are the relationships between tasks. Links can only occur between tasks, and not between anything else.
Links (and durations) are the drivers that dictate when tasks start (and finish). This is calculated in CPM software (Oracle P6, Microsoft Project, etc.). That data is exported from the CPM software.
By default, all relationships are imported, placed, and hidden in TimeTable. You can reveal these relationships by using the Show Links command in the Ribbon
Imported Relationship Links cannot be modified or deleted. Their shape can be moved, however. Links that are placed manually can be modified and deleted. There is no visual distinction between imported and manually placed relationship links.
Data
Definition
Link
The name of the shape
Predecessor
The task id of the predecessor
Successor
The task id of the successor
Type
The relationship type: FS, FF, SS, SF are possible
Lag
The minimum length of the relationship in work days
Duration
The actual length of the relationship in work days
Duration (elapsed)
The actual length of the relationship in calendar days
Slack
= Duration – Lag. The amount of extra time the relationship has.
Lag Format
Hidden
Begin
The predecessor's start or finish
End
The successor's start or finish
By default, no text is displayed on any links. Right-clicking on a link gives you the option to Edit Text and write anything you want. It is possible to change the text at anytime.
Driving links are links where the Duration is the same as the lag. If the duration is longer than the lag, then it is a non-driving link.
Relationships and durations drive the start and finish dates for tasks. Sometimes redundant links exist for any number of reasons. The ones that can be removed without affecting the schedule at that moment in time are considered non-driving links.
Critical links are Driving links where the predecessor and the successor are both marked as critical.
Intra-WBS links are relationships that occur between tasks that are in the same Work Breakdown Structure. These links can be hidden, regardless if they are driving or not.
To create a relationship between two tasks, click on the New Link command in the TimeTable ribbon. Drag the ends of the link to its corresponding tasks.
Highlight Critical and Threshold
In CPM, activities are marked as critical when the number of days they can be delayed without affecting the end date of the project is below the Critical Threshold.
Activities that are defined as critical will have a thick red border.
It depends. Criticality is a direct function of the amount of float an activity has. Float is calculated by taking the difference, in working days, between the Late Finish and the Early Finish of an activity.
Schedules imported from Microsoft Project include Float values, so the criticality is computed there. However, schedules exported from other CPM software (including P6) does not include Float values, but does include Early and Late dates.
We use this to calculate float, however, the difference shouldn’t include non-working days. Because TimeTable only has one calendar, if you use one calendar too then there’s no issue. But, if your project uses multiple calendars for different tasks then the float values calculated in TimeTable could be slightly different than what your CPM software showed. We don’t feel this is a big enough reason to not calculate Float. Chances are your critical path won’t change at all.
Critical Threshold is the upper bound of what is considered critical, with the lower bound being zero (or a negative value). For example, you can choose to identify 5 as your Critical Threshold and any task that has a Float value between 5 and 0 (or below if it exists) will have the red border, with tasks that are close to 5 having a less red color.
In typical CPM, no. Only activities can be critical because only activities have float values. However, in TimeTable we've allowed for , because we believe relationships can be critical, and they should be highlighted.
Task Descriptions from P6 and MS Project are too descriptive
Abbreviations are a great way to shorten those long task descriptions from your schedule import into something more concise that fits inside shorter task bars.
When you first install TimeTable Visio you’ll get a default abbreviations.csv file which includes almost 100 phrases and words with their corresponding abbreviations. This .csv can be copied and modified, and ultimately imported into your TimeTable Visio Project to automatically re-label your tasknames. You can (and probably should) keep separate CSV files for different projects.
Remember, hovering your mouse over a task will always show you its original name, and you can always reset the Task Label.
Regular Expressions is a powerful way to find and replace text when the text you want to find may just need to fit some constraints instead of being exact. For example, if the schedule appended the level to every task (i.e. "-L6", "-L7", etc.), you could use Regular Expressions to remove that extra text from all the activities that follow that some structure.
Because Regular Expressions are powerful, they can take some time to learn. The video below shows you everything you need to know with great examples.
Here's a great cheat sheet you can use: .
The Color Legend in TimeTable Visio allows you color code your schedule based on any activity code, user field, property, or Resource Assignment you have in your schedule.
The color legend configuration window can be found by clicking on the Color Legend button in the TimeTable Ribbon.
By default, all new projects have None set as their Color Legend. This means all tasks display as white. However, clicking the dropdown will reveal all of the metadata from the schedule that can be used to color code.
Note: The Manual: Responsible option is available for all schedules, and is a way to color code your schedule if it didn't come with any metadata. Learn more here:
If you don't see any options beyond None and Responsible then your schedule likely didn't come with any info.
How to remove extra TimeTable shapes
Turn long task descriptions to more relevant and concise task names.
Creating a schedule in a Gantt User Interface like P6 or MS Project is much different than creating a schedule in a tool like Visio.
Generally, task or activity descriptions tend to be longer and even contain redundant information. Here are some example of real activity names from real CPM schedules.
REINFORCE-P1 - (COL. LINE 1-4.05)
INWALL ELECTRICAL LOW VOLTAGE-L7
OVERHEAD
In the context of a gantt chart, there's nothing wrong with these task descriptions. In fact, they are good task descriptions because when you have 100 pages of a gantt printed out, you want to know which level you're looking at without have to flip back and forth a few pages. So the "L7" at the end of the second task name is helpful.
We've made it easy to rename tasks with TimeTable. Just double-click on the task and start typing, and hit enter.
However, when you have hundreds or even thousands of tasks, this can take tens of hours. Thankfully, we've introduced a tool called Abbreviations.
Syntax: ABS( number)
PARAMETERS
Name
Required/Optional
Data Type
Description
Number
Required
Decimal
The number whose absolute value you want to find.
Example: ABS(-1.24)
Returns 1.24.
Returns TRUE (1) if all of the logical expressions supplied are TRUE. If any of the logical expressions are FALSE or 0, the AND function returns FALSE (0).
Syntax
AND(** logical expression1 **, ** logical expression2 **,..., ** logical expressionN ** )
PARAMETERS
Name
Required/Optional
Data Type
Description
logical expression
Required
String
A combination of constants, operators, functions, and references to ShapeSheet cells that results in a value. Any expression that evaluates to a non-zero value is considered to be TRUE.
Example AND(Height > 1, PinX > 1)
Returns TRUE
if both expressions are TRUE.
Returns FALSE
if either expression is FALSE.
Specifies an argument that the calling cell can pass to a custom function, as well as the default value returned by the custom function if the calling cell does not pass in a value for the argument. Returns the value specified by the calling cell and the matching argName parameter.
Syntax
ARG(argName,[ defaultValue ])
Name
Required/Optional
Data Type
Description
argName
Required
String
The name of an argument that the calling cell can pass into the function.
default Value
Optional
Numeric
The value returned by ARG if the calling cell did not pass in a value for the argName parameter.
Remarks
As a shape developer, you can create custom functions by placing an expression in one cell and calling that expression from one or more other cells. The expression can include literal strings, ShapeSheet functions, and cell references. The expression can also include specific arguments that are passed in by the calling cell.
The calling cell specifies the cell that contains the custom function as well as any arguments that it wants to pass to the function. The expression cell is evaluated and the result returned to the calling cell.
Example
The following example shows how to use the ARG function in conjunction with the EVALCELL function to find the middle value from a set of three values.
In the expression cell, place the following code that defines the custom function:
In the calling cells, place the following code that calls the custom function:
Returns the measurement of the specified part of the shape's bounding box.
Syntax
BOUNDINGBOXDIST(** Index ** )
Parameters
Name
Required/Optional
Data Type
Description
Index
Required
Number
The part of the shape's bounding box to measure and return. See Remarks for possible values.
Number
Remarks
Index can be one of the following values.
Item
Value
Width
0
Height
1
Left edge to shape pin
2
Shape pin to right edge
3
Shape pin to top edge
4
Bottom edge to shape pin
5
Center of bounding box to PinX
6
Center of bounding box to PinY
7
Returns the coordinate of the specified edge of the shape's bounding box.
Syntax
BOUNDINGBOXRECT(** Index ** )
Name
Required/Optional
Data Type
Description
Index
Required
Integer
The edge of the shape's bounding box for which to get the coordinate. See Remarks for possible values.
Number
Remarks
Index can be one of the following values.
Item
Value
Left edge
0
Right edge
1
Top edge
2
Bottom edge
3
If the shape has a parent, the return value is in the coordinate system of that parent.
Returns the total number of callout shapes that are associated with the shape.
Syntax
CALLOUTCOUNT()
Integer
Returns the text from the Category field of a document's properties.
Syntax
CATEGORY ( )
Rounds a number away from 0 (zero) to the next instance of multiple. If multiple is not specified, the number rounds away from 0 to the next integer.
Syntax
CEILING(** number **, ** multiple ** )
Name
Required/Optional
Data Type
Description
number
Required
Number
The number to round.
multiple
Required
Number
The multiple to round to.
Remarks
Number and multiple must have the same signs, or a #NUM! error is returned. If either number or multiple cannot be converted to a value, a #VALUE! error is returned. If either number or multiple is 0, the result is 0.
Example 1 CEILING(3.7)
Returns 4
Example 2 CEILING(-3.7)
Returns -4
Example 3 CEILING(3.7, 0.25)
Returns 3.75
Returns the ANSI character for a number.
Syntax
CHAR(** number ** )
Parameters
Name
Required/Optional
Data Type
Description
number
Required
Number
The number whose ANSI character you want to get.
Remarks
The resulting string is one character in length. The number parameter must be an integer between 1 and 255 (inclusive), or the function returns an error.
Example CHAR(9)
Returns the tab character.
Returns the text from the Company field of a document's properties.
Syntax
COMPANY ()
Returns the total number of containers that include the shape as a member (including nested relationships).
Syntax
CONTAINERCOUNT()
Integer
Returns the total number of shapes in the container.
Syntax
CONTAINERMEMBERCOUNT()
Integer
Remarks
If the shape is not a container, CONTAINERMEMBERCOUNT returns -1.
Returns a sheet reference to the specified container that contains the shape.
Syntax
CONTAINERSHEETREF(** index ** ** [, category] ** )
Name
Required/Optional
Data Type
Description
index
Required
Integer
The 1-based index of the container. See Remarks for more information.
category
Optional
String
The category of the container. See Remarks for more information.
ShapeSheet reference
Remarks
The index of a container is calculated based on the z-order of containers from front to back.
Categories are user-defined strings that you can use to categorize shapes. You can define categories in the User.msvShapeCategories cell in the ShapeSheet for a shape. You can define multiple categories for a shape by separating the categories with semi-colons.
If the shape is not a member of a container, or if there is no container that matches both the specified index number and the category, CONTAINERSHEETREF returns #REF!.
Example
CONTAINERSHEETREF(1)!Height
Returns the value in the Height cell of the container that is most forward on the page to which the shape belongs.
Returns a currency value.
Syntax
CY(** value **, ** cyID ** )
Parameters
Name
Required/Optional
Data Type
Description
value
Optional
Number or String
A number or a string that includes currency-specific formatting. If not specified, the currency value is formatted according to the currency style in the system's Region and Language settings.
cyID
Optional
Number
A numeric currency ID or a three-character quoted string for the ISO 4217 abbreviation.
Remarks
If value is incompatible with the designated currency type, or if an invalid argument such as "not a number" is specified, a #VALUE! error is returned. If value is greater than 922,337,203,685,477.5807 or less than -922,337,203,685,477.5808, a #VALUE! error is returned.
For better precision with very large currency values that include fractions of a unit, such as 3.6 trillion, use string arguments for value.
Specifying an invalid cyID returns an error.
Example 1
If the user's Region and Language settings specify United States dollars:
CY(999998.993)
Returns $999,998.99
Example 2
CY(12345678.993, "USD")
Returns $12,345,678.99
Example 3
CY(12345678.993, "DEM")
Returns 12,345,678.99 DEM
Example 4
CY(12345678.7832, "XXX")
Returns 12,345,678.78
Returns the text from the Data 1 box in the Shape Name dialog box for a shape (on the Developer tab, click Shape Name ), as a string.
Syntax
DATA1 ()
Remarks
If the box is empty, the function returns an empty string.
Returns the text from the Data 2 box in the Shape Name dialog box for a shape (on the Developer tab, click Shape Name ), as a string.
Syntax
DATA2 ()
Remarks
If the box is empty, the function returns an empty string.
Returns the text from the Data 3 box in the Shape Name dialog box for a shape (on the Developer tab, click Shape Name ), as a string.
Syntax
DATA3 ()
Remarks
If the box is empty, the function returns an empty string.
Returns the date and time value represented by datetime or expression.
Syntax
DATETIME(" ** datetime ** "| ** expression ** [, ** lcid ** ])
Parameters
Name
Required/Optional
Data Type
Description
datetime
Required
String
Any string commonly recognized as a date and time or a reference to a cell containing a date and time.
expression
Required
String
Any expression that yields a date and time.
lcid
Optional
Number
Specifies the locale identifier to be used in evaluating a non-local datetime. The locale identifier is a number described in the system header files.
Datetime
Remarks
If datetime is missing or cannot be interpreted as a valid date or time, DATETIME returns a #VALUE! error.
The returned value is formatted according to the short date style and time style in the system's current Regional Settings.
The DATETIME function also accepts a single number value for expression where the integer portion of the result represents the number of days since December 30, 1899, and the decimal portion represents the fraction of a day since midnight.
Example 1 DATETIME("May 30, 1997")+5 ed.
Returns the value representing 6/4/1997.
Example 2 FORMAT(DATETIME("5/20/1997 14:30:45"),"C")
Returns the string "Tuesday, May 20, 1997 2:30:45 PM.
"
Example 3 DATETIME("1:30 PM July 19")
Returns the value representing 7/19/2001 1:30:00 PM (assuming the current year is 2001).
Example 4 DATETIME(35580.6337)
Returns the value representing 5/30/1997 3:12:32 PM.
Returns the date value represented by datetime or expression.
Syntax
DATEVALUE(" ** datetime ** "| ** expression ** [, ** lcid ** ])
Name
Required/Optional
Data Type
Description
datetime
Required
String
Any string commonly recognized as a date and time or a reference to a cell containing a date and time.
expression
Required
String
Any expression that yields a date and time.
lcid
Optional
Number
Specifies the locale identifier to be used in evaluating a non-local datetime. The locale identifier is a number described in the system header files.
Return value
Datetime
Remarks
Any time component in datetime or expression is discarded.
If datetime is missing or cannot be converted to a valid result, DATEVALUE returns a #VALUE! error.
The returned value is displayed using the short date style set by the system's current Regional Settings.
The DATEVALUE function also accepts a single number value for expression where the integer portion of the result represents the days since December 30, 1899.
Example 1 DATEVALUE(NOW( ))+5 ed.
Returns the date five days from now.
Example 2 DATEVALUE("7/19/1995 12:30")
Returns the date.
Example 3 DATEVALUE("May 33, 1997")
Returns a #VALUE! error.
Example 4 DATEVALUE(35580.6337)
Returns 5/30/1997.
Returns the date represented by year, month, and day formatted according to the short date style in the system's Regional Settings. The values for year, month , and day reflect the Gregorian calendar.
Syntax
DATE(** year **, ** month **, ** day ** )
Parameters
Name
Required/Optional
Data Type
Description
year
Required
Integer
The year.
month
Required
Integer
The month.
day
Required
Integer
The day.
Example 1 DATE(1999,6,7)
Returns the value representing 6/7/1999.
Example 2 DATE(1999,6,7) + 4 ed.
Returns the value representing 6/11/1999.
Example 3 FORMAT(DATE(1999,10,14),"C")
Returns the value representing Tuesday, October 14, 1999.
Returns an integer, 1 to 366, that represents the sequential day of the year in datetime or expression. The DAYOFYEAR function uses the Gregorian calendar.
Syntax
DAYOFYEAR(" ** datetime ** "| ** expression ** [, ** lcid ** ])
Parameters
Name
Require/Optional
Data Type
Description
datetime
Required
String
Any string commonly recognized as a date and time or a reference to a cell containing a date and time.
expression
Required
String
Any expression that yields a date and time.
lcid
Optional
Number
Specifies the locale identifier to be used in evaluating a non-local datetime. The locale identifier is a number described in the system header files.
Return value
Integer
Remarks
Any time component in datetime or expression is discarded.
The result corresponds to January 1 to December 31. No rounding is done. If datetime is missing or cannot be interpreted as a valid date or time, the function returns an error.
The DAYOFYEAR function also accepts a single number value for expression where the integer portion of the result represents the number of days since December 30, 1899.
Example 1 DAYOFYEAR("May 30, 1997 13:45:24")
Returns 150
.
Example 2 DAYOFYEAR(DATEVALUE("May 30, 1997")+7 ed.)
Returns 157
.
Example 3 DAYOFYEAR(35580.6337)
Returns 150
.
Returns an integer, 1 to 31, representing the day in datetime or expression. The DAY function uses the Gregorian calendar.
Syntax
DAY(" ** datetime ** "| ** expression ** [, ** lcid ** ])
Parameters
Name
Required/Optional
Data Type
Description
datetime
Required
String
Any string commonly recognized as a date and time or a reference to a cell containing a date and time.
expression
Required
String
Any expression that yields a date and time.
lcid
Optional
Number
Specifies the locale identifier to be used in evaluating a non-local datetime. The locale identifier is a number described in the system header files.
Return value
Integer
Remarks
Any time component in datetime or expression is discarded.
No rounding is done. If datetime is missing or cannot be converted to a valid result, the function returns an error.
The DAY function also accepts a single number value for expression where the integer portion of the result represents the number of days since December 30, 1899.
Example 1 DAY("May 30, 1997 15:45:24")
Returns 30
.
Example 2 DAY(DATEVALUE("May 30, 1997")+7 ed.)
Returns 6
.
Example 3 DAY(35580.6337)
Returns 30
.
Takes a reference to a cell that contains a custom function as well as one or more name-value pairs to pass to the custom function as arguments (optional). Returns the calculated result of the custom function given the specified arguments and values.
Syntax
EVALCELL(** cellRef **,[ ** arg1Name,arg1 ** ],[ ** arg2Name,arg2 ** ],…)
Name
Required/Optional
Data Type
Description
cellRef
Required
String
A reference to the cell that contains the custom function. Cross-sheet references are allowed.
arg1Name
Optional
String
The name of the first argument to be passed to the custom function. Spaces are allowed.
arg1
Optional
Varies
Value of the arg1 parameter.
arg2Name
Optional
String
The name of the second argument to be passed to the custom function. Spaces are allowed.
arg2
Optional
Varies
Value of the arg2 parameter.
Return value
Number
Remarks
The calling cell does not have to specify every argument used by the custom function.
Example
The following example shows how to use the EVALCELL function in conjunction with the ARG function to find the middle value from a set of three values.
In the expression cell, place the following code that defines the custom function:
In the calling cells, place the following code that calls the custom function:
Evaluates the text in shapename as if it were a formula and returns the result.
Syntax
EVALTEXT(** shapename!theText ** )
Parameters
Namr
Required/Optional
Data Type
Description
shapename!theText
Required
String
A cell that is triggered when the associated shape's text composition changes.
Return value
String
Remarks
shapename can be used to refer to the text of a shape other than the current shape.
If there is no text, the result is zero. If the text cannot be evaluated, the function returns an error.
Example EVALTEXT(Line.2!theText)
Evaluates the text contained in the shape Line.2. For example, if Line.2 contains "4 ft + 0.5 ft", returns the value 4.5 ft.
To specify a different currency, you must include a valid cyID. For a list, see .
If you've been sent a coupon code by us, you'll need to use that to get TimeTable for free. Using the link we provided, along with the coupon code, TimeTable will be free. Please use your email address to have the license sent to you. The email will include a link to download the latest and greatest TimeTable. Please have Visio closed during installation.
Once TimeTable is installed, you'll still need to launch it, activate your license, and restart Visio for TimeTable to fully function.
We are currently in beta. We anticipate being in beta stage until the end of 2021, subject to change. The license can be purchased in the plugin by clicking on the TimeTable Logo in the Ribbon, and then clicking on license:
Robins & Morton employees get free access by contacting Daniel Soliman.