Hola!!
Tengo un problemita.
en una celda de la columna BG tengo datos con cualquiera de los siguientes
formatos (texto):
NC , NC+n , NC-n , N , Nada
donde N = un entero dferente de 0
C = "CC" , "FF", "FC"
n = un entero diferente de 0
(como el formato de precedentes de MSPROJECT Ej: "3FC+2" o "25FF-20" o "34"
o "8CC" , etc. )
Luego trato de separar el numero inicial de los caracteres para lo cual
busco la posicion (si exixte) de los caracteres no numericos.
si lo hago en un rango funciona ej para la fila 6
=+SI(ESNUMERO(ENCONTRAR("F";BG6));ENCONTRAR("F";BG6);99999)
(esto es una parte de la formula donde busco luego la posicion el caracter
"C" y calculo el minimo, es decir el primero que ocurrre y de no existir
coloco 99999) y de ahi extraicgo los primeros caracteres que corresponde a
los numeros
pero cuando trato de hacderlo en VBA ussando en un modulo
Xx =
IIf(Application.WorksheetFunction.IsNumber_(Application.WorksheetFunction.Find("F",
Range("BG" & x2))),_ Application.WorksheetFunction.Find("F", Range("BG" &
x2)), 99999)
Donde x2 es la fila y 99999 indicaria que no existe el caracter.
pero... funciona si y solo si El caracter (en este caso "F") existe.
es decir que por ejemplo tenga "FF8" mientras que si por ejemplo tengo "CC4"
no funciona.
Cual es mi error??
Como puedo corregir el problema??
podrian ayudarme con el codigo??? modificarlo? corregirlo? cambiarlo?..
esta seria la linea de codigo completo
Xx =
Application.WorksheetFunction.Min(IIf(Application.WorksheetFunction.IsNumber(Application.WorksheetFunction.Find("C",
Range("BG" & x2))), Application.WorksheetFunction.Find("C", Range("BG" &
x2)), 99999),
IIf(Application.WorksheetFunction.IsNumber(Application.WorksheetFunction.Find("F",
Range("BG" & x2))), Application.WorksheetFunction.Find("F", Range("BG" &
x2)), 99999))
otra preguntica: es necesario colocar siempre
"Application.WorksheetFunction" para poder usar alguna funcion ??
Gracias.
Me alimento del conocimiento de todos
Leer las respuestas