Archive
EXCELeINFO add-in: mover archivo activo de carpeta sin necesidad de cerrarlo
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
EXCELeINFO add-in: guardar datos filtrados como archivo nuevo
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
EXCELeINFO add-in: normalizar/unificar registros en bases de datos
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
Cambiar tamaño de formulario en ejecución en Excel
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
Vista de formulario con tamaño aumentado y opciones visibles
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
Cambiar nombre de archivos desde Excel con macros
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
-
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
Tienes comentarios, crees que te pueda servir en un futuro ?
EXCELeINFO add in 2.3.6 Listar archivos de carpetas de PC en Excel
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ú
Formulario
Resultado
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
EXCELeINFO 2.3.5 – Eliminar las filas y columnas vacías en Excel para disminuir tamaño de archivo
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.
Comentarios recientes