Estoy trabajando con un programa en apache calc que me tome nombres y me los separe por nombres y apellidos en diferentes celdas, es de anotar que no todos los nombres son de dos nombres y dos apellidos entonces me puedo encontrar con que hay un nombre con un solo nombre y un apellido o un solo nombre y dos apellidos, Para separar los nombres y apellidos utilizo Split y lógicamente abro una matriz de 4 espacios que van de 0-3 pero, aca radica mi problema que cuando el nombre no ocupa los 4 espacios de la matriz de Split el código de colocación de cada nombre y apellido en cada celda recorre cada uno de los espacios de la matriz y no encuentra valores en el último espacio me saca un error y trato de preguntar primero al último espacio si tiene o no valor con un IF no me deja que hago. Hay les dejo algo de código. Claro que si todos los nombres fueran de 4 frases es decir de 2 apellidos y dos nombres todo funcionaria a la maravilla pero nada es perfecto.
Código: Seleccionar todo
REM ***** BASIC *****
Sub Main
dim a(3)
dim x as integer, i as integer, y as integer, fin as integer, ss as integer
dim hoj as object, cel as object
dim str as string
x=0:y=0:fin=0
hoj = thiscomponent.sheets(1)
rem cel =hoj.gecellbyposition(x,y)
fin =val(inputbox ("por favor ingresa el nùmero de nombres"))-1
for i=0 to fin
str =hoj.getcellbyposition(0,i).getformula
a()= split(str)
If a(3)<> "NULL" then rem he intentado si <> NULL si ="" con todo y nada
ss=ss+1
else
a(3)="s"
end if
hoj.getcellbyposition(1,i).setformula(a(0))
hoj.getcellbyposition(2,i).setformula(a(1))
hoj.getcellbyposition(3,i).setformula(a(2))
hoj.getcellbyposition(4,i).setformula(a(3)) rem si el nombre solo tiene tres palabras aca me muestra el error
next
msgbox ("todo esta consumado")
End Sub