Did you try using the code posted by @Peter SS ??
As far as I'm aware you cannot use VBA in OpenOffice.
Dim varArr As Variant
Dim i As Long, strArr() As String
Application.ScreenUpdating = False
With Worksheets(3)
Let varArr = .Range(.Cells(1, 1), _
.Cells(.Rows.Count, 1).End(xlUp)).Value
If IsArray(varArr) Then
For i = LBound(varArr, 1) To UBound(varArr, 1)
Let strArr() = Split(varArr(i, 1))
Let .Cells(i, 2).Resize( _
, UBound(strArr) + 1).Value = strArr
Erase strArr
Next
Else: .Cells(1, 2).Resize(, 2).Value = Split(varArr)
End If
End With
Application.ScreenUpdating = True
Unfortunately NateO is no longer with us but see if this helps. Depends a bit just what you data might be like but give this a try in a copy of your workbook.I am experimenting with using your array code
Sub First_Name()
Range("BP1").Value = "First Name"
Range("B2", Range("B" & Rows.Count).End(xlUp)).TextToColumns Destination:=Range("BP2"), DataType:=xlDelimited, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 9), Array(3, 9))
End Sub
Sheets("Cpl-Child Info").Range("BP1").Value = "First Name"
Sheets("Cpl-Child Info").Range("B2", Range("B" & Rows.Count).End(xlUp)).TextToColumns Destination:=Range("BP2"), DataType:=xlDelimited, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 9), Array(3, 9))
Sheets("Cpl-Child Info").Range("BP1").Value = "First Name"
Sheets("Cpl-Child Info").Range("B2", Sheets("Cpl-Child Info").Range("B" & Rows.Count).End(xlUp)).TextToColumns Destination:=Range("BP2"), DataType:=xlDelimited, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 9), Array(3, 9))