Dela upp cellinformation

 

I detta tips demonstreras hur vi på ett relativt enkelt men framförallt snabbt sätt kan dela upp cellinformation till intilliggande kolumner.

Exemplet utgår från att det finns namn med för och efternamn, vilka är separerade med blanksteg. Problemlösningen bygger inte på att dela upp namn såsom "Anders Andersson" utan t ex "Kaj A Person", där "A" tillhör efternamnet.

Option Explicit

Sub Separera_Namn()
'© 2002 Alla rättigheter XL-Dennis
Dim vaData As Variant, vaFNamn() As Variant, vaENamn() As Variant
Dim i As Integer

vaData = Selection.Value

ReDim vaFNamn(1 To UBound(vaData))
ReDim vaENamn(1 To UBound(vaData))

'Här separeras för- och efternamn och tilldelas till varsin matris
For i = 1 To UBound(vaData)
          vaFNamn(i) = Left(vaData(i, 1), Application.Find(" ", vaData(i, 1), 1))
          vaENamn(i) = Right(vaData(i, 1), Len(vaData(i, 1)) - Len(vaFNamn(i)))
Next i


Application.ScreenUpdating = False

'Här skrivs data tillbaka till arbetsbladet till initilliggande kolumner
With Selection
          .Offset(0, 1).Resize(UBound(vaFNamn)) = Application.Transpose(vaFNamn)
          .Offset(0, 2).Resize(UBound(vaENamn)) = Application.Transpose(vaENamn)
End With

Application.ScreenUpdating = True
End Sub