Archive

Archive for the ‘EXCELeINFO add-in’ Category

EXCELeINFO add-in: mover archivo activo de carpeta sin necesidad de cerrarlo

November 4, 2012 5 comments

En más de una ocasión es necesario que el archivo que tenemos abierto lo necesitamos mover de carpeta. Aunque este proceso puede reducirse a Cerrar, ir al Explorador de Windows, mover y volver a abrir; esta herramienta permite realizarlo desde un mismo formulario.

Cómo funciona

El formulario nos muestra la ruta actual donde el archivo activo se encuentra alojado y nos permite elegir una nueva ubicación para moverlo. Además de que nos permite decidir sobre si queremos mover el archivo guardando cambios recientes y si deseamos abrir el archivo ya en la nueva ubicación.

Imagen de la herramienta en ejecución

Mover archivo activo de carpeta

:: Descargar EXCELeINFO add-in 2.3.9

EXCELeINFO add-in: guardar datos filtrados como archivo nuevo

November 4, 2012 1 comment

Esta herramienta publicada en nuestro add-in, permite guardar cualquier resultados de un filtro en un archivo nuevo con extensión .xls, .xlsx o .csv.

Cómo funciona:

Después de realizar nuestro filtro, elegimos la herramienta y nos pedirá confirmación de guardar los datos filtrados como un nuevo archivo. Si aceptamos que continúe, nos mostrará el clásico formulario de Guardar como, donde elegiremos la ubicación de nuevo archivo.

Los datos filtrados se guardarán en otro archivo para así ser manipulados o enviados por correo electrónico.

Animación de la herramienta en ejecución

Guardar datos filtrados

:: Descargar EXCELeINFO add-in 2.3.9

EXCELeINFO add-in: normalizar/unificar registros en bases de datos

November 4, 2012 2 comments

Cuando trabajamos con bases de datos, siempre nos topamos con registros que vienen escritos de manera diferente, pero que muchas veces se refieren a la misma cosa, tal es el caso de apellidos, departamentos. Dicha diferencia en captura provoca que nuestros filtros o tablas dinámicas no sean efectivas.

La herramienta

La herramienta que se incluye en esa versión del add-in intenta resolver el tema de las bases ‘sucias’, permitiendo filtrar todos los datos únicos e identificarlos para unificar los nombres y así normalizar/unificar nuestras bases para un mejor manejo en las distintas herramientas que nos ofrece Excel para manejo de bases de datos.

Cómo funciona

El primer paso que realiza la herramienta es un filtro avanzado sobre la columna elegida, para después llenar el ListBox del formulario y hacer el conteo de cada uno de los registros únicos. Al final podemos elegir los registros a unificar y asignarles la captura que deseemos.

Animación con la herramienta en ejecución

Normalizar bases de datos

:: Descargar EXCELeINFO add-in 2.3.9

Cambiar tamaño de formulario en ejecución en Excel

October 17, 2012 1 comment

Cuando nos dedicamos a crear formularios personalizados, siempre llega la necesidad de cambiar el tamaño de los mismos, así como cambiar la posición de los controles, pasando por ocultarlos o mostrarlos dependiendo la necesidad.

En esta ocasión, comparto un ejemplo donde incluyo código vba que dinámicamente cambia el tamaño de un Form, oculta un Frame y cambia de posición dos Buttons.

Conceptos

La propiedad para asignar tamaño a un formulario es Height, y los valores que manejaremos son 219 y 145 con opciones vistas y ocultas respectivamente.

La propiedad para cambiar de posición los botones de Aceptar y Cancelar es Top, y los valores que manejaremos son 168 y 90.

Vista de formulario inicial, sin las opciones visibles

image

Vista de formulario con tamaño aumentado y opciones visibles

image

Código del formulario

'::EXCELeINFO - cambiar tamaño de formulario en ejecución
'::Sergio Alejandro Campos MVP
'::14-oct-2012
'::https://exceleinfo.wordpress.com/
'
'Declaramos la variable vOpciones para que esté presente en todos
'las subrutina
Public vOpciones As Integer
'
Private Sub btnAceptar_Click()
MsgBox "El formulario queda de alto " & Me.Height, vbInformation, "ECELeINFO"
End Sub
'
Private Sub btnAumentar_Click()
'Si el valor de la variable es 0 ó 1 cambian las medidas de
'height y top
If vOpciones = 1 Then
vOpciones = 0
With Me
    .btnAumentar.Caption = "Reducir tamaño >>"
    .Height = 219
    .btnAceptar.Top = 168
    .btnCancelar.Top = 168
    .Frame1.Visible = True
End With
'
ElseIf vOpciones = 0 Then
vOpciones = 1
With Me
    .btnAumentar.Caption = "Aumentar tamaño >>"
    .Height = 140
    .btnAceptar.Top = 90
    .btnCancelar.Top = 90
    .Frame1.Visible = False
End With
End If
End Sub
'
Private Sub btnCancelar_Click()
Unload Me
End Sub
'
Private Sub UserForm_Activate()
'Asignamos valor iniciar a la variable y
'Definimos un tamaño inicial de los objetos
vOpciones = 1
With Me
    .btnAumentar.Caption = "Aumentar tamaño >>"
    .Height = 145
    .Frame1.Visible = False
    .btnAceptar.Top = 90
    .btnCancelar.Top = 90
End With
End Sub

:: Descargar ejemplo

Cambiar nombre de archivos desde Excel con macros

October 3, 2012 1 comment

Cuando he tenido la necesidad de realizar alguna labor, siempre pienso si en Excel es posible, y esta ocasión no fue la excepción.

Surge la necesidad de cambiarle el nombre a un grupo de archivos que están almacenados en el disco duro, pero por lotes, lo que implicaría cambiar el nombre uno por uno o conseguirse algún software que lo haga. Pero si ya tenemos Excel, lo hacemos en Excel.

Primeramente vamos a hacer uno de la última herramienta añadida al EXCELeINFO addin, que es la de Listar archivos, esto para tener la ruta completa y el nombre de los archivos a cambiar. Armamos el siguiente archivo:

En la columa D, vamos a introducir la siguiente fómula.

=IZQUIERDA(A2,ENCONTRAR(B2,A2)-1)&C2

image

 image

  • Colunma A: ruta completa del archivo a cambiar.
  • Columna B: nombre de archivo a cambiar.
  • Columna C: nombre del nuevo archivo (con extensión).
  • Columna D: fórmula que concatena la ruta del archivo anterior con el nombre nuevo.

Es indispensable o por lo menos es lo que recomiendo, que hagamos la consulta de los nombres de los archivos para tener el dato actualizado, aunque también podremos ingresar los datos manuales de ruta, nombres anterior y nuevo nombres.

Para el archivo armado en este ejemplo, utilizaremos la siguiente macro:

Sub CambiarNombre()
'Antes de correr la macro, elije las celdas que tengan la ruta
'del nombre actual, es decir a partir de A2
Dim NombreNuevo As String
Dim NombreAnterior As String
'Si no encuentra algún archivo, continuará con el siguiente
On Error Resume Next
For Each Celda In Selection
    NombreAnterior = Celda.Value
'El dato del nombre nuevo será la columna D, especificado con 3
    NombreNuevo = Celda.Offset(0, 3).Value
    Name NombreAnterior As NombreNuevo
Next Celda
On Error GoTo 0
End Sub

:: Descargar el ejemplo

Tienes comentarios, crees que te pueda servir en un futuro ?

EXCELeINFO add in 2.3.6 Listar archivos de carpetas de PC en Excel

September 29, 2012 3 comments

Cómo están ??

Informando de la nueva versión de nuestro addin de este Blog, la versión 2.3.6.

Qué es lo nuevo?

Agrega un formulario que nos permite elegir una carpeta de nuestra PC para listar los archivos conternidos en una nueva hoja de Excel. De la misma manera nos permite filtrar por extesión, además de que podemos elegir si hace la búsqueda por subcarpetas.

Ubicación del menú

image

Formulario

image

Resultado

image

Código

La función que se utiliza fue tomada del sitio http://excelexperts.com/ y aunque tuve que modificarla para los propósitos específicos, la muestro tal cual está en el sitio

Sub ListFiles()
    iRow = 11
    Call ListMyFiles(Range("C7"), Range("C8"))
End Sub
'
Sub ListMyFiles(mySourcePath, IncludeSubfolders)
    Set MyObject = New Scripting.FileSystemObject
    Set mySource = MyObject.GetFolder(mySourcePath)
    On Error Resume Next
    For Each myFile In mySource.Files
        If Right(myFile.Name, 3) = "mp3" Then
            iCol = 2
            Cells(iRow, iCol).Value = myFile.path
            iCol = iCol + 1
            Cells(iRow, iCol).Value = myFile.Name
            iCol = iCol + 1
            Cells(iRow, iCol).Value = Right(myFile.Name, 3)
            iCol = iCol + 1
            Cells(iRow, iCol).Value = myFile.Size
            iCol = iCol + 1
            Cells(iRow, iCol).Value = myFile.DateLastModified
            iRow = iRow + 1
        Else
        End If
    Next
    If IncludeSubfolders Then
        For Each mySubFolder In mySource.SubFolders
            Call ListMyFiles(mySubFolder.path, True)
        Next
    End If
End Sub

:: Descargar EXCELeINFO add-in 2.3.6

EXCELeINFO 2.3.5 – Eliminar las filas y columnas vacías en Excel para disminuir tamaño de archivo

September 6, 2012 5 comments

Cuántas veces nos nos encontramos con un archivo que en apariencia es sencillo en formatos y fórmulas, pero por alguna extraña razón el tamaño no corresponde con lo que vemos.

Aquí entra el tema de una última celda en uso que tiene nuestra hoja de cálculo. Si presionamos las teclas Ctrl + Fin, la celda activa será la última que tiene o tuvo datos, o también la última que tuvo o tiene formato.

Restablecer última celda en Excel

No siempre la última celda en uso es la última celda que deseamos que sea, es decir, si borramos formatos o datos al final de nuestro archivo, si presionamos Ctrl + Fin, se irá al final de la hoja donde hubo datos o formatos. La macro restablece la última celda en uso, y al presionar la combinación pasada nos dirigirá a la última celda con datos o formato.

Eliminar filas y columnas vacías

La macro prácticamente ubica la intersección de fila y columna donde hay datos y elimina las columnas a la derecha y las filas para abajo.

Beneficios

El más importante, y como lo menciono al principio, nos ayuda a disminuir el tamaño del archivo, cosa que no es mínima y fundamental para eficientar archivos.

image

:: Descargar EXCELeINFO add-in 2.3.5