Excel - Extraer en macros

 
Vista:
sin imagen de perfil
Val: 13
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Extraer en macros

Publicado por Ángel (13 intervenciones) el 09/08/2017 00:19:15
Cual es la fórmula en macros equivalente a la formula ·Extraer

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Extraer en macros

Publicado por JuanC (1237 intervenciones) el 09/08/2017 01:28:41
supongo que es MID
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Extraer en macros

Publicado por Antoni Masana (2485 intervenciones) el 09/08/2017 05:54:42
Después existe el truco universal que es:

- Grabar Macro
- Escribir la fórmula en una celda
- Detener Macro y mirar código.

Esto no falla nunca.

Saudos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Extraer en macros

Publicado por angelsd (1 intervención) el 10/08/2017 00:11:17
Sí, pero está en Español y no vale para incluirlo en una macro.

Gracias de todas formas. Ya me he enterado la fórmula es "mid"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Extraer en macros

Publicado por Antoni Masana (2485 intervenciones) el 10/08/2017 08:06:49
Al grabar la macro convierte la FORMULA en código del Visual Basic.

Es decir si escribes las siguentes formulas en una celda:

1
2
3
=IZQUIERDA(A1;5)
=EXTRAE(A1;3;3)
=DERECHA(A1;4)

La MACRO escribe esto:

1
2
3
ActiveCell.FormulaR1C1 = "=LEFT(RC[-1],5)"
ActiveCell.FormulaR1C1 = "=MID(R[-1]C[-1],3,3)"
ActiveCell.FormulaR1C1 = "=RIGHT(R[-2]C[-1],4)"

NOTA el texto entre paréntesis es una referencia relativa pero eso es para otra ocasión.

Fijate que ha reemplazado:

- IZQUIERDA por LEFT
- EXTRAE por MID
- DERECHA por RIGHT

Es más internamente la formula se guarda en codigo Visual Basic y si este libro lo abres en un Excel en Francés, Italiano o Alemán la fórmula se podría convertir respectivamente en:

1
2
3
=IZQUIERDA   =GAUCHE   =SINISTRA   =LINKE
=EXTRAER     =MOITIE   =DESTRA     =VERMITTELT
=DERECHA     =DROITE   =CALZA      =DIREKT

NOTA: La traducción de las formulas es una licencia que me he tomado. Puede variar según quien lo traduzca. Observa que MID en ingles significa EN MEDIO y lo han traducido como EXTRAER.

Pero la MACRO siempre se escribirá igual porque es CÓDIGO no un lenguaje que se traduce.

En cambio las fórmulas se han traducido como lenguaje para facilitar el trabajo a las personas que no conocen ni el código VB ni la lengua inglesa.

OBSERVACIÓN Lo de la traducción de las fórmulas debería ser de esta forma por compatibilidad entre máquinas con distinto lenguaje, pero no siempre ha sido así, en la versión 2003, Word no era compatible consigo mismo, un documento realizado en un programa WORD en ESPAÑOL ciertas características no funcionan en otro programa WORD en INGLES. Esto es así porque yo lo he visto con mis propios ojos.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar