No matter how good your analyses is, if it presented poorly on slides, you failed. Thus you should be able to arrange all objects on slides neatly and not spend on this process too much time.


1. STANDARD MICROSOFT OPTIONS TO ALIGN OBJECTS

Microsoft improves functions for better aligning and arranging objects from version to version.

Align (Home -> Arrange -> Align)

Select objects you want to align and select the alignment that you want. It is one of the most frequent option for aligning objects (and more effective than moving objects with mouse or arrows), so it is a good idea to put on your Quick Access tab.

Grid and Guides (View -> Show -> Grid Settings)

To more easily align objects, you can snap your objects to a grid line that runs through the vertical edges, horizontal edges, and centers of other objects. The line becomes visible only when you drag an object near another object. With this lines and other indicators you will see, when your objects are perfectly aligned.


2. VBA OPTIONS FR PERFECT ALIGNMENT

With VBA you could improve consistency of your alignment through all slides and simplify steps from previous step:

– Copy object parameters
With following code you can copy position and proportions of the selected object:

Pos_left = ActiveWindow.Selection.ShapeRange.Left
Pos_top = ActiveWindow.Selection.ShapeRange.Top
Prop_H = ActiveWindow.Selection.ShapeRange.Height
Prop_W = ActiveWindow.Selection.ShapeRange.Width

After that, you could use these parameters for objects on other slides:

ActiveWindow.Selection.ShapeRange.Left = Pos_left
ActiveWindow.Selection.ShapeRange.Top = Pos_top 
ActiveWindow.Selection.ShapeRange.Height = Prop_H 
ActiveWindow.Selection.ShapeRange.Width = Prop_W

– Ninja lines
Sometimes basic grid lines are not enough. For those situations ninja lines are the best tool. Ninja lines are basically two vertical or horizontal lines, which allow you to align objects between them. And then you just simply delete those lines. VBA allow you to create those lines and delete them after more easily and faster.

Code to create 2 vertical ninja lines:

Set myDocument = Application.ActiveWindow.View.Slide

With myDocument.Shapes.AddLine(BeginX:=20, BeginY:=5, EndX:=20, EndY:=590).Line
 .DashStyle = msoLineDashDotDot
 .ForeColor.RGB = RGB(255, 3, 3)
End With

With myDocument.Shapes.AddLine(BeginX:=120, BeginY:=5, EndX:=120, EndY:=590).Line
 .DashStyle = msoLineDashDotDot
 .ForeColor.RGB = RGB(255, 3, 3)
End With

Code to remove created lines:

For Each shp In Application.ActiveWindow.View.Slide.Shapes
If shp.Type = msoLine Then
If shp.Line.ForeColor.RGB = RGB(255, 3, 3) Then
 If shp.Line.DashStyle = msoLineDashDotDot Then
 shp.Delete
 End If
End If
End If
Next shp