
Macro para Capturar el contenido de una Celda y Convertir a SuperIndice solo los caracteres deseados
Publicado por David (9 intervenciones) el 05/02/2018 18:58:22
Buenas tardes,
Estoy realizando una Tabla de elementos químicos,
Yo tengo en una celda con esta función: =BUSCARV($A$1;Datos!A2:L106;11)
La columna 11 (como ejemplo) contiene:
[Xe] 4f14 5d10 6s2 6p4
Mi problema es cómo capturar esa celda en otra con un vba de tal manera que los números DESPUÉS del f, d, s, p se conviertan en superindices?? Pues los números ANTES de ellos NO tienen sentido.
En la tabla los valores que deben aparecen son:
s = desde 1 a 2
p = desde 1 a 6
d = desde 1 a 10
f = desde 1 a 14
Conozco programación básica de Pascal y C por ello intentaré entender el VBA (lenguaje que no conozco) que me sugieran por favor
Pensaba en un Algoritmo:
-Leer la cadena de la Celda y guardar sus posiciones
-luego buscarlas con un IF, si es "s" or "p" buscar en esa posición+1 ESNUMERO? si verdadero entonces (Macro) CONVERTIR a SUPERINDICE
-ELSE IF, si es "d" or "f" buscar en esa posición+1 y posición+2 ESNUMERO? si verdadero entonces (Macro) CONVERTIR a SUPERINDICE
Mi función cambiaría a: =BUSCARV($A$1;Datos!A2:L106;MACROSUPERINDICEdeMICOLUMNA)
Algo así como ejemplo.
Gracias
Estoy realizando una Tabla de elementos químicos,
Yo tengo en una celda con esta función: =BUSCARV($A$1;Datos!A2:L106;11)
La columna 11 (como ejemplo) contiene:
[Xe] 4f14 5d10 6s2 6p4
Mi problema es cómo capturar esa celda en otra con un vba de tal manera que los números DESPUÉS del f, d, s, p se conviertan en superindices?? Pues los números ANTES de ellos NO tienen sentido.
En la tabla los valores que deben aparecen son:
s = desde 1 a 2
p = desde 1 a 6
d = desde 1 a 10
f = desde 1 a 14
Conozco programación básica de Pascal y C por ello intentaré entender el VBA (lenguaje que no conozco) que me sugieran por favor
Pensaba en un Algoritmo:
-Leer la cadena de la Celda y guardar sus posiciones
-luego buscarlas con un IF, si es "s" or "p" buscar en esa posición+1 ESNUMERO? si verdadero entonces (Macro) CONVERTIR a SUPERINDICE
-ELSE IF, si es "d" or "f" buscar en esa posición+1 y posición+2 ESNUMERO? si verdadero entonces (Macro) CONVERTIR a SUPERINDICE
Mi función cambiaría a: =BUSCARV($A$1;Datos!A2:L106;MACROSUPERINDICEdeMICOLUMNA)
Algo así como ejemplo.
Gracias
Valora esta pregunta


0