tag:blogger.com,1999:blog-4623278671508370136.post3065346566801483447..comments2023-08-01T13:39:53.991+02:00Comments on EXCEL FORO: Un blog de Excel: VBA: La funcion SPLIT en una macro de Excel.Excelforo - Ismael Romerohttp://www.blogger.com/profile/17680553534095355222noreply@blogger.comBlogger23125tag:blogger.com,1999:blog-4623278671508370136.post-38172170870347048682018-06-27T09:46:16.135+02:002018-06-27T09:46:16.135+02:00Hola Jordi!!
es complicado.. ya que habría de exis...Hola Jordi!!<br />es complicado.. ya que habría de existir algún patrón para poder separar las tres partes.<br />Por ejemplo, en:<br />Plaza nueva 5, 1-1<br />tenemos la coma que separa el portal del piso... y el espacio anterior al portal separa calle de portal<br />Pero si miras<br />Avenida Pompeu fabra 48 2º2ª<br />no hay nada que indique donde empieza o termina cada parte...<br /><br />Si puedes asegurar que en cad dirección seguirá el mismo patrón se podría emplear con funciones IZQUIERDA, DERECHA , EXTRAE y ENCONTRAR <br /><br />Espero haberte dado la pista<br />SaludosExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-80368975145478162002018-06-26T19:08:39.012+02:002018-06-26T19:08:39.012+02:00buenas tardes Isamel.
Como podría separar una dire...buenas tardes Isamel.<br />Como podría separar una dirección en diferentes columnas ( calle, numero y puerta )<br />Ejemplos:<br /> Plaza nueva 5, 1-1<br />Avenida pompeu fabra 48 2º2ª<br /><br />Calle Numero Puerta<br />Plaza nueva 5 1-1<br />Avenida Pompeu fabra 48 2º2ª<br />Anonymoushttps://www.blogger.com/profile/13722183624604048998noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-83352526659613094962018-05-23T11:55:51.469+02:002018-05-23T11:55:51.469+02:00Hola Alexander,
no termino de entender bien...
per...Hola Alexander,<br />no termino de entender bien...<br />pero si solo quieres los primeros caracteres emplea la función VBA LEFT(valor,2)<br />Saludos cordialesExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-24337737252638778452018-05-21T11:33:02.652+02:002018-05-21T11:33:02.652+02:00muy buenos dias maestro para hacerle una pregunta ...muy buenos dias maestro para hacerle una pregunta tengo una caja de texto que me busca un valor en un rango, al encontrar el valor hace un relleno de la celda con dicho valor y me sale a la vez un mensaje con las coincidencias encontradas, lo que me gustaria hacer es que se me extraigan los valores encontrados pero solo me extraiga una parte ejemplo encontre el valor 34980 y que me traiga a un rango 34 listo muchas gracia maestro si me puede colaborar en este caso feliz diaAnonymoushttps://www.blogger.com/profile/14533070198069865019noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-81636839205784259472016-02-08T03:12:56.359+01:002016-02-08T03:12:56.359+01:00exacto, es una separación por pares; se tendría qu...exacto, es una separación por pares; se tendría que implementar una macro.<br /><br />gracias por tomar en cuenta, y prácticamente espero que puedas implementar una macro con esa idea; por mi parte seguiré intentando.<br /><br /><br />SaludosAnonymoushttps://www.blogger.com/profile/01966448843533401965noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-5181018494863578092016-02-06T17:32:06.238+01:002016-02-06T17:32:06.238+01:00Hola Eduardo,
aunque no termino de ver la regla qu...Hola Eduardo,<br />aunque no termino de ver la regla que se debería seguir (me despista el último elemento -bandera-)... parece que la idea general sería separa por pares de elementos de cada celda.<br /><br />Obviamente sería necesario aplicar una macro que realizara la acción.<br /><br />Lo tendré en cuenta para un futuro post que suba al blog.<br /><br />un saludoExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-36333629484740663112016-02-06T04:58:12.080+01:002016-02-06T04:58:12.080+01:00hola Ismael,
tengo un problema y no se como hacer...hola Ismael, <br />tengo un problema y no se como hacerlo, ya que recién estoy empesando a programar, mi problema es el siguiente:<br />tengo varias celdas con textos separados por comas, el cual me piden que odene por filas quedando de esta forma.<br />texto1 casa, habitaciones, edificio, oficinas<br />texto2 licuadora, frutas, molino , grano,fiesta patrias, andera<br /><br />casa habitacion<br />edificio oficinas<br />licuadora frutas<br />molino grano<br />fiestas patrias bandera<br /><br />Anonymoushttps://www.blogger.com/profile/01966448843533401965noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-74654236650117387082015-11-19T14:11:51.599+01:002015-11-19T14:11:51.599+01:00Hola,
entiendo quieres hacerlo en un contexto de p...Hola,<br />entiendo quieres hacerlo en un contexto de programación.. si es así, emplea la función descrita en este post: Split<br />celdas=split(celda con datos,";")<br /><br />Revisa el ejemplo por que sería equivalente.<br />Saludos<br />Excelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-41727213455142558292015-11-19T06:36:33.264+01:002015-11-19T06:36:33.264+01:00Buenas mi pregunta es la siguiente tengo la siguie...Buenas mi pregunta es la siguiente tengo la siguiente información 35,0;56,0;45,0;70,0 necesito sepáralo cada vez que llega al ";" ósea 35,0 en una celda 56,0 en otra y así sucesivamente lo que trató de hacer es un conteo de votos donde: 35,56,45 y 70 representan un partido y los "0" él número de votos ósea él partido 35 tiene 0 votos pero después puede pasar de 35,0 a 35,10 y sin importar él número de votos siempren se vean reflejados en la celda; muchas gracias.jimztercrackhttps://www.blogger.com/profile/11567731804656623172noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-86636350453885899422015-10-16T21:50:48.483+02:002015-10-16T21:50:48.483+02:00gracias me fue de gran ayudagracias me fue de gran ayudaAnonymoushttps://www.blogger.com/profile/13886479000009168483noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-71261373050075644852015-10-16T08:56:53.239+02:002015-10-16T08:56:53.239+02:00Hola Juan,
el trabajo es similar al que se plantea...Hola Juan,<br />el trabajo es similar al que se plantea en la explicación del post, ya que debes usar Split con el separador coma (,)..<br />Entenderé que la distribución de datos en cada fila es la misma.. es decir, que el texto contenido en la fila está en la posición sexta.. en ese caso, para recuperarlo emplearíamos:<br />matriz=split(fila completa,",")<br />msgbox matriz(5)<br /><br />matriz(5) te devolverá el dato buscado.<br />SaludosExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-61536260366348103352015-10-16T07:40:14.969+02:002015-10-16T07:40:14.969+02:00Hola que tal estoy trabajando con vb y un archivo ...Hola que tal estoy trabajando con vb y un archivo .csv tengo que cargar el contenido del archivo <br />"652394532592467968,"","","2015-10-09 08:05:52 +0000","<a href="" rel="nofollow">Twitter Web Client</a>","Hay ocasiones en la que mejor prevalecer #Sisepuede y seguir adelante.","","","","" Estas es linea y puede tener N numeros de lineas. de esta linea solo quiero Hay ocasiones en la que mejor prevalecer #Sisepuede y seguir adelante El comentario estoy trabajando con Split ojala puedan ayudarme. graciasAnonymoushttps://www.blogger.com/profile/13886479000009168483noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-68241742269759129432015-06-25T17:02:51.847+02:002015-06-25T17:02:51.847+02:00Hola, puedes emplear la función CONVERTIR (creo en...Hola, puedes emplear la función CONVERTIR (creo en VBA es CONVERT) y pasar de 'day' a 'sec'.. en la hoja de cálculo sería:<br />=CONVERTIR(celda;"day";"sec")<br />saludosExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-5666471169008424492015-06-25T14:22:52.243+02:002015-06-25T14:22:52.243+02:00hola, gracias por responder, he estado experimenta...hola, gracias por responder, he estado experimentando un rato en lo que me has dicho, y se me ha ocurrido algo.<br /><br />¿Es posible transformar el label.caption en segundos? <br /><br />me refiero, cojer el valor que capture (por ejemplo 5 minutos 50 segundos (05:50) y transformarlo en 350 segundos?<br /><br />gracias y perdona por ser tan pesado<br />Anonymoushttps://www.blogger.com/profile/06359761986771253813noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-58139954109371364242015-06-25T12:08:35.682+02:002015-06-25T12:08:35.682+02:00Hola Daniel,
me alegro te funcionara ;-)
Te diría...Hola Daniel,<br />me alegro te funcionara ;-)<br /><br />Te diría que no trabajaras en formato tiempo, y que lo hicieras en formato decimal (como Clong), sabiendo que las horas en formato decimal van de 0 a 1, siendo 0 las 00:00:00 y las 24:00:00 sería el 1..<br />así puedes trabajar sin restricción ni límites de 24 horas...<br />por ejemplo, el valor 2,5 equivaldría a dos días y medio, esto es 60:00:00...<br /><br />Espero te oriente<br />SldsExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-73403760026255990242015-06-25T11:27:18.855+02:002015-06-25T11:27:18.855+02:00perdón, que he hecho una errata en la primera preg...perdón, que he hecho una errata en la primera pregunta. la pregunta es<br /><br />La primera es... ¿Hay algún modo de indicarle al programa que ese tiempo anterior a la hora *SI* lo detecte como minutos y segundos?Anonymoushttps://www.blogger.com/profile/06359761986771253813noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-38600156031991025232015-06-25T11:23:20.735+02:002015-06-25T11:23:20.735+02:00Hola de nuevo, pues si, la verdad es que funciona ...Hola de nuevo, pues si, la verdad es que funciona y bastante bién ha de decir, muchas gracias.<br /><br />Sin embargo, esto me ha llevado a otro problema -.-<br /><br />Aquí te pongo el código:<br /><br />Private Sub Test_Click()<br /><br />Dim hora As Integer<br />Dim minuto As Integer<br />Dim segundo As Integer<br /><br />If Len(Label1.Caption) = 5 Then<br /><br /> minuto = hour(TimeValue(Label1.Caption))<br /> segundo = Minute(TimeValue(Label1.Caption))<br /> <br /> MsgBox minuto & " este es el minuto "<br /> MsgBox segundo & " este es el segundo "<br /><br />Else<br /><br /> hora = hour(TimeValue(LblTiempoV.Caption))<br /> minuto = Minute(TimeValue(LblTiempoV.Caption))<br /> segundo = Second(TimeValue(LblTiempoV.Caption))<br /><br /> MsgBox hora & " esta es la hora "<br /> MsgBox minuto & " este es el minuto "<br /> MsgBox segundo & " este es el segundo "<br /><br />End If<br /><br />End Sub<br /><br />en principio cuando el video supera la hora, todo esto me lo muestra sin ningún problema (no aparecen ni cosas raras en los msgbox, ni me dan errores).<br /><br />esto me ha hecho que me hiciera 1 pregunta. <br /><br />después de mucho probar y trastear, he llegado a la conclusión de que el tiempo cuando es menor de 59 minutos 59 segundos (menos de una hora) detecta el tiempo como horas y minutos.<br /><br />En principio, con la solución que me monte arriba coje bién el tiempo pero... el día tiene 24 horas, al llegar al minuto 24 o más de la reproducción de video, un error del tipo 13. es la única conclusión que puedo llegar a entender. <br /><br />esto me ha llevado a 2 preguntas:<br /><br />La primera es... ¿Hay algún modo de indicarle al programa que ese tiempo anterior a la hora no lo detecte como minutos y segundos?<br /><br />Y la segunda, es... ¿hay algún modo de quitar el "límite 24" a lo de las horas?<br />Anonymoushttps://www.blogger.com/profile/06359761986771253813noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-84125177530109841402015-06-23T16:18:33.889+02:002015-06-23T16:18:33.889+02:00Hola Daniel, por que no usas las funciones Hour, M...Hola Daniel, por que no usas las funciones Hour, Minute y Second sobre el valor de label1.caption,<br />para asegurarte que detecta bien la hora completa, anídalo en TimeValue<br />sec=second(timevalue(label1.caption))<br /><br />debería funcionar<br />SaludosExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-47678174633614459092015-06-23T11:42:29.679+02:002015-06-23T11:42:29.679+02:00Hola que tal, me gustaría hacer una pregunta
¿Se ...Hola que tal, me gustaría hacer una pregunta<br /><br />¿Se podría partir texto según signos de puntuación? <br /><br />Mejor expongo la duda, tengo un userform con un windows media object donde puedo hacer capturas de tiempo y guardarlas en un label<br /><br />*Label1.Caption = WindowsMediaPlayer1.Controls.currentPositionString*<br /><br />bien con esto en label1, aparece el tiempo que tiene el video en ese momento en los siguientes formatos<br /><br />*mm:ss* (si el tiempo del video es menor de 1 hora)<br /><br />*hh:mm:ss* (si el tiempo del video es mayor de una hora)<br /><br />mi pregunta es, este tiempo que yo saco en una label, lo puedo partir y guardarlo en 3 variables independientes como numeros.<br /><br />Por ejemplo pongamos que tengo estas 2 horas (una en *hh:mm:ss* y otra en *mm:ss*)<br /><br />y estas variables (Horas, Minutos y Segundos)<br /><br />1:30:26 => Aquí al hacer la captura me gustaría que se partieran los numeros y fueran a la variable correspondiente<br /><br />segundos = 26<br />minutos = 30<br />horas = 1<br /><br />lo mismo por ejemplo con mm:ss,<br /><br />ej: 25:35<br /><br />segundos = 35<br />minutos = 25<br />horas = 0 (Se igualarán a 0 al principio de la función despues de declarar las variables)<br /><br />muchas gracias por tu ayudaAnonymoushttps://www.blogger.com/profile/06359761986771253813noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-89353765300262639822015-05-26T09:13:35.335+02:002015-05-26T09:13:35.335+02:00Hola Axel,
realmente no haría falta una función VB...Hola Axel,<br />realmente no haría falta una función VBA para esto... con funciones de hoja de cálculo estándar puedes hacerlo. Por ejemplo, en A1:<br />=IZQUIERDA(A2;ENCONTRAR("feat ";A2)-1)<br />en B1:<br />=DERECHA(A2;LARGO(A2)-ENCONTRAR("feat ";A2)-4)<br /><br />repetir y anidar con SI.ERROR para controlar los otros dos casos para fetauring o ft.<br /><br />En todo caso, en VBA sería similar...<br /><br />SaludosExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-79195434809174478172015-05-25T22:14:27.115+02:002015-05-25T22:14:27.115+02:00BUENAS TARDES SEÑORES DEL FORO
la pregunta es acer...BUENAS TARDES SEÑORES DEL FORO<br />la pregunta es acerca de como puedo hacer una funcio VBA que me busque una palabra de un texto que contiene una celda y la pueda ci}opiar hacia la derecha. Ejemplo: Zoe feat Enrique Bumbury quede de la siguiente manera:<br /><br />Busque la palabra feat y quede lo siguiente<br /><br />Celda A1= Zoe Celda B1= feat Enrique Bunbury.<br /><br />Y pueda buscar tambien automaticamente si la celda tiene feat, featuring, ft.<br /><br />Este es el caso que se me complica su ayuda muchas graciasAXELhttps://www.blogger.com/profile/10527325150738523703noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-88741472761731939622013-05-05T12:04:09.132+02:002013-05-05T12:04:09.132+02:00;-)
me alegro te haya sido de utilidad!;-)<br />me alegro te haya sido de utilidad!Excelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-38860951628677978822013-05-05T01:00:35.500+02:002013-05-05T01:00:35.500+02:00Muchas gracias, este aporte es excelente, buscaba ...Muchas gracias, este aporte es excelente, buscaba algo asi y ya tenia rato sin dar pie.<br /><br />SaludosAnonymoushttps://www.blogger.com/profile/17991574504391533989noreply@blogger.com