Una familia de software de hoja de cálculo de Microsoft con herramientas para analizar, trazar y comunicar datos.
Te recomiendo esto
http://www.todoexcel.com/funciones-sololetras-y-solonumeros/
Salu2.xls
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
¿Cómo se puede seleccionar mediante VBA sólo las cifras de un string que tiene cifras y texto?
Por ejemplo si tengo el siguiente string:
" En el año 1997 se escribió un libro de 781 páginas que se vendía en 39 dólares"
Quiero seleccionar primero la cifra 1994, después seleccionar 781 y luego seleccionar 39.
Todo ello por código.
¿Será posible?
Saludos
Francesca
Una familia de software de hoja de cálculo de Microsoft con herramientas para analizar, trazar y comunicar datos.
Pregunta bloqueada. Esta pregunta se migró desde la Comunidad de Soporte técnico de Microsoft. Puede votar si es útil, pero no puede agregar comentarios o respuestas ni seguir la pregunta.
Hola Héctor
Claro que sí, es exactamente como tu dices.
Sin tus "tips" nunca lo habría logrado.
Te estoy muy agradecida
Saludos y hasta una próxima... si aún me vas a tener paciencia.
Francesca
... me concentré hasta casi sacar humo de mi cabeza hasta que finalmente dí con la respuesta a mi pregunta clave: "No logro entender por qué si tengo una selección, el código me procesa cifras que NO ESTÁN EN LA SELECCIÓN."
En la línea 48 cambié With Selection.Find por With Selection.Range.Find
y en la línea 58 cambié .Execute Replace:=wdReplaceAll por .Execute Replace:=wdReplaceOne
Con eso he logrado que los reemplazos se efectúen número por número y sólo en la selección y no en todo el documento.
hola, Francesca !
(probablemente) en algun lado "nos perdimos" (entre tantas lineas de codigo ?), pero, en los dos ultimos mensajes te señalaba DOS "puntos clave" (que son los que encontraste)...
en noviembre 11:
prueba con la siguiente macro, tiene algunos cambios "clave", p.e. he cambiado:
1) los "With Selection.Find" <=> por "With Selection.Range.Find"
2) los "wdReplaceAll" <=> por "wdReplaceOne"
en noviembre 18:
1) el siguiente codigo me ha servido para procesar solo en el texto seleccionado (varios parrafos o solo parte de alguno), por lo que te recalco algunos cambios "clave" mencionados en correo anterior:
a) cambiar los wdReplaceAll <=> por wdReplaceOne (no te preocupes, el wdReplaceAll lo almacena la colecion de patrones encontrados por las expresiones regulares)
b) cambiar los Selection.Text <=> por Selection.Range.Text (el Selection.Text podria cambiar si algun patron es "localizado" -en error- por el .Find de word ?)
me da gusto que los hayas descubierto, ya que eso significa que (en verdad) analizaste los pormenores del funcionamiento del ".Find" (de word) y no te quedaste con dudas ;)
saludos,
hector.