You could to it all with VBA, where you need to open the ExcelSheet, go through its values, calculate where to place your shapes from those values,...
Or you need a slightly modified shape for this, and Visio 2007 Pro's Linking to an external DataSource feature:
1. The Shape needs 3 ShapeData Properties: Start-Time, End-Time or Duration, Colum or Thread in which the Process belongs
For example: Prop.Start, Prop.Duration, Prop.Colum
You may eventually need additional ShapeData Rows for info which shape has to be connected to which shape
Those ShapeData could than be linked to an Excel Sheed, which has the information.
2. You have to define a timeline startpoint on the Page, for example at y=200mm which coraletes to your StartingTime of 18 h.
You could store those values in ShapeData or User defined cells oh ThePage, fo example: Prop.StartTime, Prop.StartHeight
And the info, that for example 10mm equals 1 hour in the diagramm.
And last the info how far colums are spaced in Prop.Space and at which X coord the first colum starts in Prop.Xcoord
3. The modification of the shape, could be like (in the ShapeSheet):
a) LocPinY = Height
b) PinY = ThePage!Prop.StartHeight-(ThePage!Prop.StartTime-Prop.Start)*10 mm
c) Height = Prop.Duration*10mm or (Prop.Start-Prop.End)*10mm
d) PinX = ThePage!Prop.Xcoord+(prop.Colum-1)*ThePage!Prop.Space
That should place your shapes automatically, depending on the Shape Data.
But your connectors will have to be set with VBA i fear.