Does this work?
[VBA]Sub MergeText()
On Error Resume Next
Dim shp As Shape
Dim mySlide As Slide
Dim tempText As String
Dim Response As Long
Dim rowsReply As Long, colsReply As Long
Dim MyString As String
Dim IDir As Integer
Dim I As Long, M As Long, N As Long
Dim txtArray() As String
'go through everything in the current selection & get the text
Set mySlide = ActiveWindow.View.Slide
With ActiveWindow.Selection
If .Type = ppSelectionShapes Then
If .ShapeRange(1).Left > .ShapeRange(.ShapeRange.Count).Left Then
For I = 1 To .ShapeRange.Count
Set shp = mySlide.Shapes(I)
If shp.HasTextFrame Then
'APPEND all text together into temp variable
tempText = tempText & shp.TextFrame.TextRange & Chr$(135)
End If
Next I
Else
For I = .ShapeRange.Count To 1 Step -1
Set shp = mySlide.Shapes(I)
If shp.HasTextFrame Then
'APPEND all text together into temp variable
tempText = tempText & shp.TextFrame.TextRange & Chr$(135)
End If
Next I
End If
End If
End With
'Ask if the selection used to be a table
'If NO, paste normally | If YES, paste the text in reverse order
Response = MsgBox("Is the selection an ungrouped table?", 3, "Please answer...")
If Response = vbYes Then ' User chose Yes
MyString = "Yes"
'Ask how many rows and columns
colsReply = InputBox("How many columns?", "Columns", 4)
rowsReply = InputBox("How many rows?", "Rows", 4)
'dump the text into an array
txtArray() = Split(tempText, Chr$(135))
Debug.Print txtArray(0)
'(size of table based on rowsReply, colsReply)
With mySlide.Shapes.AddTable(rowsReply, colsReply).Table
'Paste the contents of the array in reverse order into the table
For I = UBound(txtArray) - 1 To 0 Step -1
'do something with txtArray(i)
M = (I \ colsReply) + 1
N = (I Mod colsReply) + 1
.Cell(M, N).Shape.TextFrame.TextRange = txtArray(I)
Next I
End With
ElseIf Response = vbNo Then ' User chose No
MyString = "No"
'dump the value of the tempText on the slide
mySlide.Shapes.AddTextbox(msoTextOrientationHorizontal, _
Left:=25.2, Top:=68.25, Width:=100, Height:=100).TextFrame.TextRange.Text = tempText
End If
End Sub[/VBA]