Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Funcion SPLIT EXTRAER NUMEROS de un CADENA TEXTO Excel VBA #528

funcion split separar cadenas de texto

Como Separar Cadenas de Texto con la Función Split

En este post se muestra como separar una cadena de texto o String en cadena de caracteres más pequeñas, teniendo en cuenta un separador o indicador común para separar las cadenas de caracteres, la macro de Excel VBA analiza la cadena de caracteres pudiendo extraer número o texto.

Requieres aprender a manejar Excel, click acá, si quieres aprender sobre Excel en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet, te lo recomiendo no te arrepentirás.

  
 

Mira la macro en acción, una explicación más detallada de su codificación y funcionamiento, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestro canal de You Tube, mira el playlist con  vídeos relacionados donde podrás ver la macros relacionadas en acción con una explicación en forma visual que ayudará a entender el ejemplo en forma más fácil.

FUNCION SPLIT – forma de extraer número o texto de una cadena de caracteres mayor

En el ejemplo se muestra como se puede separar la cadena de texto que se encuentra en la columna D del ejemplo en cadenas de texto más pequeñas, en este caso se va a separar todos los datos delimitados por la barra vertical o «pipe».

La macro recorrerá fila por fila extrayendo los números de la cadena, que están separados por pipe y los va a colocara en la columna A, B y C.

Explicación del código de la función split para separar o extraer registros de una cadena de texto

La macro se declara una variable de tipo array o matriz que es donde se guardarán todos los datos obtenidos para luego grabarlos en la hoja de Excel, de la siguiente forma:

Dim cade() As String

El código de la macro de Excel, en segundo lugar establece cual es la última fila con datos para realizar un bucle entre la primer y última fila con datos, lo hace con el siguiente código:

uf = d.Range(«D» & Rows.Count).End(xlUp).Row

Posteriormente se realiza un bucle entre la primer y última fila con datos, recorriendo todas las filas de la columna «D», que es donde está la cadena de caracteres a analizar, se usa el siguiente código:

For x = 2 To uf
….. mi código
Next x

Luego se carga en la variable «Tex» cual es el texto de la celda que recorre en cada momento el bucle, así:

Tex = d.Cells(x, 4)

Posteriormente en la matriz o array se guardan los datos extraídos o cadenas separadas cuyo delimitador o separador de datos es «pipe», de la siguiente forma:
cade() = Split(Tex, «|»)

Por último se recorre cada uno de los datos de la matriz obtenida y contenida en la variable «cade», escribiendo en cada celda de las columnas A, B y C, los datos correspondientes que acaban de ser obtenidos, se usan los siguientes códigos:


For i = LBound(cade) To UBound(cade) ‘elemento cadena datos
d.Cells(filac, col) = CLng(cade(i))
col = col + 1
Next i


Descarga el Libro Como usar la Función Split

Descarga el libro usado en este ejemplo desde el final del post puedes hacerlo gratis y usarlo sin ninguna restricción, solicito aportar para sostener esta web, si está dentro de tus posibilidades, desde ya muchas gracias.

Código del para extraer datos de una cadena de caracteres con función Split

Código que se ingresa en un módulo de VBA

Sub extraecaracteres()
‘*********** by marcrodos **** https://macrosenexcel.com *** https://www.youtube.com/c/programarexcel?sub_confirmation=1 ********
Application.ScreenUpdating = False
Dim cade() As String
‘split del rango de datos a eliminar
filac = 2
col = 1
Set d = Sheets(«Hoja1»)
uf = d.Range(«D» & Rows.Count).End(xlUp).Row
For x = 2 To uf
Tex = d.Cells(x, 4)
cade() = Split(Tex, «|»)
For i = LBound(cade) To UBound(cade) ‘elemento cadena datos
d.Cells(filac, col) = CLng(cade(i))
col = col + 1
Next i
filac = filac + 1
col = 1
Next x
MsgBox («Los datos se extrajeron con éxito»), vbInformation, «https://macrosenexcel.com»
Application.ScreenUpdating = True
End Sub

Sub Borra()
Set d = Sheets(«Hoja1»)
uf = d.Range(«D» & Rows.Count).End(xlUp).Row
d.Range(«A2:C» & uf).Clear
End Sub



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Donate:
Cuenta Paypal: https://paypal.me/programarexcel
Cuenta Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd
Cuenta Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407

Summary
Author Rating
1star1star1star1star1star
Aggregate Rating
5 based on 1 votes

Entradas relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Comentarios (24)

I am the business owner of JustCBD Store brand (justcbdstore.com) and I’m presently looking to expand my wholesale side of business. I really hope that anybody at targetdomain share some guidance 🙂 I thought that the most effective way to accomplish this would be to talk to vape stores and cbd stores. I was hoping if anybody at all could recommend a reliable website where I can get Vape Shop B2B Data List I am already looking at creativebeartech.com, theeliquidboutique.co.uk and wowitloveithaveit.com. On the fence which one would be the best option and would appreciate any guidance on this. Or would it be simpler for me to scrape my own leads? Suggestions?

Responder

права для обращения в суд с заявлением и это процедура субсидиарная ответственность вопрос интереснен каждому директору компании

Responder

You ought to be a part of a contest for one of the greatest sites on the net. I’m going to highly recommend this site!

Responder

There is certainly a great deal to learn about this issue. I really like all the points you have made.

Responder

Great info. Lucky me I recently found your blog by chance (stumbleupon). I have saved as a favorite for later!

Responder

I love reading through an article that will make men and women think. Also, thanks for permitting me to comment!

Responder

I really love your blog.. Great colors & theme. Did you build this web site yourself? Please reply back as I’m hoping to create my own personal blog and want to learn where you got this from or exactly what the theme is called. Thanks!

Responder

Everything is very open with a very clear clarification of the issues. It was really informative. Your site is very helpful. Thank you for sharing!

Responder

Right here is the perfect blog for anybody who really wants to find out about this topic. You understand so much its almost hard to argue with you (not that I really would want to…HaHa). You certainly put a brand new spin on a subject that has been discussed for years. Excellent stuff, just great!

Responder

An impressive share! I have just forwarded this onto a co-worker who had been doing a little homework on this. And he actually bought me lunch because I discovered it for him… lol. So allow me to reword this…. Thank YOU for the meal!! But yeah, thanks for spending the time to discuss this subject here on your internet site.

Responder

You ought to be a part of a contest for one of the greatest sites online. I’m going to recommend this web site!

Responder

I could not refrain from commenting. Exceptionally well written!

Responder

You have made some really good points there. I looked on the internet to find out more about the issue and found most individuals will go along with your views on this web site.

Responder

I love it when folks come together and share opinions. Great website, continue the good work!

Responder

This is a topic that’s near to my heart… Take care! Exactly where are your contact details though?

Responder

Great site you have got here.. It’s hard to find good quality writing like yours nowadays. I honestly appreciate people like you! Take care!!

Responder

You have made some really good points there. I checked on the net to find out more about the issue and found most people will go along with your views on this website.

Responder

Greetings, There’s no doubt that your site might be having browser compatibility problems. Whenever I look at your site in Safari, it looks fine but when opening in IE, it has some overlapping issues. I just wanted to provide you with a quick heads up! Other than that, wonderful site!

Responder

I love it when people come together and share views. Great blog, keep it up!

Responder

I really like reading an article that can make men and women think. Also, thank you for permitting me to comment!

Responder

Great information. Lucky me I discovered your site by accident (stumbleupon). I have book marked it for later!

Responder

I love it when folks get together and share thoughts. Great blog, keep it up!

Responder

Excellent article! We will be linking to this great post on our website. Keep up the great writing.

Responder

This is a topic that is near to my heart… Many thanks! Exactly where are your contact details though?

Responder