Eres un usuario Anonimo. Haz clic aqui para entrar | Registrate

Tutoriales macros y vba

Seguro que al instalar algún software en tu ordenador, te has encontrado con un asistente de instalación. Estos asistentes se usan normalmente para recopilar una cantidad de datos considerable que colmaría la paciencia del usuario y haría del formulario, algo antiestético. También son útiles para condicionar las selecciones de los usuarios. Por ejemplo, si en el paso 1 del asistente, se nos pide la edad, sería ilógico que al introducir una edad mayor de 65, se mostrara en el siguiente paso, otro formulario referente a la profesión actual.

Esta función definida por el usuario (UDF) sirve para extraer los acrónimos de una cadena de texto (el primer caracter de cada palabra.

Option Explicit
Public Function ACRONIMOS(ByVal sText As String, _
               Optional ByVal bJustCapitals As Boolean = False) As String
Dim inextspace As Integer
Dim sfirstcharacter As String
Dim sword As String
    sText = VBA.Trim(sText)
    Do While VBA.Len(sText) > 0
       inextspace = VBA.InStr(1, sText, " ")
       If inextspace > 0 Then
          sword = VBA.Trim(VBA.Left(sText, inextspace - 1))
          sText = VBA.Right(sText, VBA.Len(sText) - inextspace)
       Else
          sword = sText
          sText = ""
       End If
       sfirstcharacter = VBA.Left(sword, 1)
       If bJustCapitals = True Then
          If (VBA.Asc(sfirstcharacter) >= 65 And VBA.Asc(sfirstcharacter) <= 90) Then
             ACRONIMOS = ACRONIMOS & VBA.UCase(sfirstcharacter)
          End If
       End If
       If bJustCapitals = False Then ACRONIMOS = ACRONIMOS & VBA.UCase(sfirstcharacter)
    Loop
End Function

Como ya sabrás, se pueden introducir fórmulas utilizando referencias de celdas relativas o absolutas. Por ejemplo, si la dirección en una fórmula es “A1”, es relativa, es decir, si copiamos la fórmula a una nueva ubicación, la dirección de la celda también cambia en relación a su ubicación anterior. Si utilizamos una dirección absoluta “$A$1”, no importará dónde se copie, la referencia seguirá siendo la misma celda.

Cuando tenemos una hoja de cálculo compleja, a menudo es necesario comprobar las fórmulas para asegurarnos de que todo funciona correctamente y los resultados son los que deseamos. Esto puede hacerse mirando las celdas implicadas en cada fórmula haciendo clic en cada una de ellas. Si se trata de una hoja con muchas fórmulas, esta operación puede ser muy larga y tediosa.

Este código adopta un enfoque diferente para leer un archivo de texto. En lugar de leer un registro cada vez, la macro carga todo el archivo de texto en la memoria en una sola variable de cadena. La macro analiza entonces la cadena en registros individuales. La ventaja de este método es que accede al archivo en disco solamente una vez. El resto de los siguientes procesamientos ocurre en memoria y es muy rápido.

Cuando Excel 2007 salió al mercado, los menús clásicos fueron sustituidos por la cinta de opciones. Pero esto no es realmente cierto. Los viejos menús siguen ocultos tras la nueva cara de Excel. Te presentamos una macro con la que puedes dejar de añorar los comandos de la barra de herramientas Estándar, tal como los conocimos cuando comenzamos a trabajar con Excel.

Si nos encontramos con que tenemos que importar muy frecuentemente archivos con extensión CSV para luego eliminarlos, esta es tu macro. Abre rápidamente un CSV en Excel y elimina el archivo original.

Una tarea común en Excel es abrir archivos de datos, tomar alguna información y cerrar el archivo para no abrirlo nunca más. Con el tiempo, estos archivos temporales van creciendo, a menos que los borremos meticulosamente. Este código añade una nueva opción al menú Archivo: Cerrar y Borrar. Esto permite que el libro activo se cierre y elimine. También elimina el nombre de archivo de la lista de archivos abiertos recientemente.

Este programa devuelve el nombre de archivo, tamaño y fecha de modificación en el directorio seleccionado y sus subcarpetas.

El autofiltro en Excel VBA permite solamente dos criterios. El siguiente código muestra cómo se pueden utilizar tres o más criterios con el autofiltro: