Excel VBA – Dividir Cadena en Celdas
Este tutorial mostrará cómo dividir cadenas de texto en celdas en VBA.
Dividir Cadena en Celdas
En VBA, podemos utilizar la Función Split para dividir una cadena de texto en una Matriz.
Nota: Escribimos una mega-guía completa sobre el uso de la Función Split en VBA. Le recomendamos que la consulte.
Entonces, podemos hacer un bucle a través del arreglo, imprimiendo el texto dividido en celdas de Excel:
Sub Ejemplo_DividirCadena_SeparadorPuntoyComa()
'Definir variables
Dim MyArray() As String, MyString As String, I As Variant, N As Integer
'Ejemplo de cadena con delimitador punto y coma
MyString = "john@myco.com;jane@myco.com;bill@myco.com;james@myco.com"
'Utilice la función Split para dividir las partes componentes de la cadena
MyArray = Split(MyString, ";")
'Limpiar la hoja de trabajo
ActiveSheet.UsedRange.Clear
'iterar a través del array
For N = 0 To UBound(MyArray)
'Coloque cada dirección de correo electrónico en la primera columna de la hoja de cálculo
Range("A" & N + 1).Value = MyArray(N)
Next N
End Sub
Alternativamente, podemos utilizar la función de transposición para dar salida a la matriz en una hoja de cálculo:
Sub Copiar_a_Rango()
'Crear variables
Dim MyArray() As String, MyString As String
'Cadena de muestra con delimitador coma (,)
MyString = "One,Two,Three,Four,Five,Six"
'Utilice la función Split para dividir las partes componentes de la cadena
MyArray = Split(MyString, ",")
'Copiar el array en la hoja de cálculo
Range("A1:A" & UBound(MyArray) + 1).Value = WorksheetFunction.Transpose(MyArray)
End Sub