domingo, 9 de mayo de 2010

algunos ejemplos de excel

Ültimamente estoy interiorizandome en EXCEL, razón por la cuál me he fijado una meta que consiste en descubrir toda la potencialidad de esta aplicaación, debido a que he quedado obsoleto con las programaciones de Cobol y Clipper que desarrollaba antiguamente, y que por razones de trabajo dejé de utilizar hace ya varios años. Ahora estoy empeñado en conocer Visual Basic y sacarle un poco provecho para las actividades que desarrollo hoy en día.
Me entretengo viendo foros de Excel y gracias a esos foros he logrado aprender más, pero también he hecho algunos aportes a gente que, al igual que yo, están faltos de información.
Un forista preguntaba lo siguiente:


Como se sabe, el separador entre carpetas es la diagonal invertida (\) y en el c: hay muchas carpetas con distintos nombres ¿Cómo hago para que dada una lista busque la última diagonal invertida y me ponga todo lo que existe después de ésta?
c:\aaa\bbb\ccc\datos.dat
c:\aaa\bbb\detalle.seq
c:\aaa\costos.xls
c:\bbbbbb\dddd\eeee\ffff\gggg\alfabeto.lst
c:\datos\legal\varios\reporte.dat
c:\datos\legal\soporte\mezcla.dat
c:\datos\ideas\emblema.xls
d:\bestias.lst
d:\conclave\pontificia\altares.seq
c:\empleados\sueldos.dat


Para ello era necesario crear una macro que busque el slash invertido de derecha a izquierda y que escriba en otra celda el resultado obtenido. La macro en cuestión es la siguiente:

Function midato(valor) As String
Dim resultado As String
Dim ubicacion As String
Dim ub As Integer
For ub = 1 To 50
     resultado = Right(valor, ub)
     If Left(resultado, 1) = "\" Then
         ubicacion = Right(valor, ub - 1)
        Exit For
     End If
 Next ub
midato = ubicacion
End Function

Espero que a más de alguien le sirva este pequeño ejemplo.

No hay comentarios.: