Quantcast
Channel: EXCELeINFO
Viewing all 466 articles
Browse latest View live

6 ejemplos increíbles usando Relleno rápido en Excel

$
0
0

En un video anterior vimos un acercamiento al uso de Relleno rápido en Excel, donde usábamos esta herramienta para separar texto en columnas.

Relleno rápido o Flash fill es una herramienta que lo que tiene de sencilla lo tiene de poderosa. Esta herramienta nos ayudará a rellenar y/o extraer información de las celdas a la izquierda, y si encuentra un patrón las celdas se rellenarán con ese patrón.

Desde hace tiempo tenía pensado en repasar algunos ejemplos usando Relleno rápido, es por eso que me decidí a escribir este Post y además grabar un video donde vemos 6 ejemplos increíbles usando esta herramienta de Excel que salió a la luz en la versión 2013.

Ver video 6 ejemplos usando Relleno rápido en Excel

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Armando correos electrónicos

Tenemos una lista con nombres y apellidos (de’ Youtubers y MVP’s de Excel) y deseamos armar correos electrónicos con la primera letra del nombre más el apellido.

Relleno rápido nos detecta un patrón y completa el resto de las celdas.

Figura 1. Relleno rápido nos detecta un patrón y completa el resto de las celdas.

Es importante considerar que en ocasiones será necesario escribir dos ejemplos para que Relleno rápido detecte correctamente un patrón y rellene las celdas.

Armando correos electrónicos 2

En base a los mismos datos de la Figura 1 ahora haremos otra prueba para armar emails, pero ahora usando combinación de teclas.

  • En la celda D2 escribimos sergio.campos@dominio.com
  • Con la celda D2 elegida nos dirigimos a la pestaña Datos > Relleno rápido.
  • Opcionalmente podemos usar el método abreviado [Ctrl] + [Shift] + [E].

Para usar Flash fill opcionalmente podemos usar el método abreviado Ctrl + Shift + E.

Figura 2. Para usar Flash fill opcionalmente podemos usar el método abreviado Ctrl + Shift + E.

Manejo de fechas

Esta herramienta no deja de sorprenderme. Ahora trataremos de extraer una fecha desde unos valores que tienen este formato 19820605.

Si te fijas, en el texto anterior tenemos año, mes y día. A ese valor no le podemos dar formato de celdas, pero sí podríamos armar la fecha usando fórmulas. No nos meteremos esta vez con fórmulas, lo haremos más sencillo.

  • En la celda H2 escribimos 05/06/1982.
  • En la celda H3 escribimos 17/09/1984.
  • Con le celda H2 elegida presionamos [Ctrl] + [Shift] + [E].

Relleno rápido también nos ayudará a armar fechas.

Figura 3. Relleno rápido también nos ayudará a armar fechas.

Separar números

Ahora tenemos una lista de números telefónicos. Lo que deseamos es formatea esos números, separando la clave lada y el resto de los números en bloques.

  • En la celda J2 escribe (826)-713-7943.
  • En la celda F3 escribe sólo un paréntesis.

Separamos números con Relleno rápido.

Figura 4. Separamos números con Relleno rápido.

Extraer nombres de un correo electrónico

En el ejemplo 1 armamos emails en base a nombres, ahora extraeremos nombres desde correos electrónicos.

  • En la celda B14 escribe Sergio Campos.
  • En la celda B15 sólo escribe Otto.

Con Flash fill extraemos información desde emails.

Figura 5. Con Flash fill extraemos información desde emails.

Extraer valores y concatenarlos con texto

En este último ejemplo tenemos una columna de Nombre y otra de edades, vamos a extraer esos nombres y edades y vamos a unirlos con otro texto.

  • En la celda H14 escribe Juan tiene 28 años.
  • En la celda H15 sólo escribe Jorge.

Con Flash fill extraemos información de celdas y las unimos con texto.

Figura 6. Con Flash fill extraemos información de celdas y las unimos con texto.

Descarga el archivo de ejemplo

Si te han gustado estos ejemplos, por favor descarga el archivo siguiente para practicar. No olvides ver el video.

Descargar el ejemplo Ejemplos Relleno rápido – EXCELeINFO.zip


Actualización 2: Formulario de punto de venta en Excel vba probado con lector de código de barras

$
0
0

Esta es la segunda revisión que le hago al Formulario de Punto de venta en Excel, la primera actualización le añadíamos la posibilidad de eliminar transacciones en caso de habernos equivocado en la cantidad.

Después de publicar el video donde explicamos cómo funciona el Punto de venta, recibí algunos comentarios donde me decían que se generaba un error en las líneas:

Me.lblProductos = .Text(CInt(Me.lblProductos) + CInt(intCantidad), “#,##0”)

Me.lblTotal = .Text(CDbl(Me.lblTotal) + CDbl(intTotal), “$#,##0.00;-$#,##0.00”)

En las dos líneas anteriores tenemos dos situaciones:

  • Con la función Cint convertimos el valor de la etiqueta lblProductos y la variable intCantidad entero. Pero en lugar de convertir el valor a Integer, debe ser convertido a Long.
  • Usamos la función WorksheetFunction.Text para darle formato a la suma del valor de la etiqueta lblTotal y la variable intTotal pero el formato utilizado es válido para la configuración Español (México).

Ver video V.2 – Punto de Venta en Excel vba probado con lector de código de barras

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Variables Integer VS variables Long

El rango de las variables Integer es –32,768 a 32,767 y el rango de las variables Long es –2,147,483,648 a 2,147,486,647. Por lo anterior, preferimos usar tipo Long para prevenir cuanto tengamos cantidades mayores a 30 mil.

WorksheetFunction.Text VS Format

Al usar la función Text podemos usar una formato personalizado que obtenemos desde el formulario Formato de celdas en la sección Personalizada, pero dichos formatos se apegan a la configuración regional que se tenga definida en el Panel de control. En cambio, al usar la función Format, podemos usar el formato Currency para moneda o Standard para tener números con separación de miles.

Se modifican los tipos de variables para aceptar cantidades mayores.

Figura 1. Se modifican los tipos de variables para aceptar cantidades mayores.

Descargar el archivo de ejemplo

Descargar el ejemplo Formulario de punto de venta 3 – EXCELeINFO.zip

Imprimir por ID o Guardar en archivos PDF desde Excel con macros VBA

$
0
0

En un artículo y video anterior vimos cómo capturar datos en un formulario de hoja de Excel y pasarlos a otra hoja en forma de base de datos, incluso vimos cómo capturar datos en un archivo y guardarlos en otro archivo de Excel como base de datos.

En base a esos archivos se me ocurrió la idea: Si ya tenemos datos guardados como base de datos, por qué no crear una rutina que nos ayude a imprimir el formato de captura, pero en lugar de capturar datos, los datos se rellenen con la función BUSCARV y mandar a imprimir el formato.

De la misma manera, también crearía una rutina que en lugar de mandar a imprimir el formato, el mismo formulario con la información correspondiente a una fila, ésta se imprimiría en un archivo PDF.

Elegiremos si deseamos imprimir o guardar en PDF.

Figura 1. Elegiremos si deseamos imprimir o guardar en PDF.

Sin embargo me fui más allá, creé una macro que te solicite un ID inicial y un ID final e imprimimos o guardamos en PDF cada uno de los valores correspondientes a cada ID.

Ver video Imprimir por ID o Guardar en archivos PDF desde Excel

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Preparando el formulario para imprimir

A continuación te mostraré cómo preparar nuestro archivo para que se pueda imprimir en una hoja y darle orientación horizontal. Para ver más tips sobre cómo imprimir correctamente en Excel, te recomiendo este artículo.

  • Seleccionas la sección que deseemos imprimir.
  • Nos vamos a la pestaña Diseño de página > Área de impresión > Establecer área de impresión.

Ahora configuraremos el botón para que se imprima.

  • Damos clic derecho en el botón.
  • Cuando se muestren los nodos, damos clic derecho en uno de los nodos.
  • Elegimos Tamaño y propiedades.
  • Ahora elegiremos desmarcaremos No imprimir.

Desmarcamos No imprimir que no imprimir el botón.

Figura 2. Desmarcamos No imprimir que no imprimir el botón.

Una vez que definimos el área de impresión, ahora ajustaremos la impresión a una página con orientación horizontal.

  • Nos dirigimos a la pestaña Archivo > Imprimir.
  • Elegimos Configurar página.
  • En la pestaña Página seleccionamos Horizontal.
  • Y seleccionamos Ajustar a 1 página de ancho por 1 de alto.

Confirmamos que se imprimirá en una hoja en orientación horizontal.

Figura 3. Confirmamos que se imprimirá en una hoja en orientación horizontal.

Imprimir por ID

Como ya vimos cómo configurar la impresión del formulario, ahora toca probar la opción de imprimir por ID. Damos clic en el botón Imprimir o Guardar en PDF y se nos pedirá que especifiquemos si queremos Imprimir o Guardar en PDF.

Si capturamos 1, entonces se nos pedirá el ID inicial y el ID final.

Elegimos Imprimir y nos pedirá el ID inicial y el ID final.

Figura 4. Elegimos Imprimir y nos pedirá el ID inicial y el ID final.

La siguiente línea de la macro nos permitirá imprimir una hoja de cálculo.

ThisWorkbook.ActiveSheet.PrintOut Copies:=1

Guardar en archivos PDF

Ahora supongamos que deseamos que se guarde en archivo PDF el formulario con cierta información. Si presionamos el botón Imprimir o Guardar, capturamos el 2 y definimos el ID inicial y el ID final, entonces se guardarán n cantidad de archivos PDF dependiente del rango de los ID.

Si capturamos la opción 2 entonces se nos pedirá que elijamos la carpeta donde deseamos que se guarden los archivos PDF.

Elegimos la carpeta donde se guardarán los archivos PDF.

Figura 5. Elegimos la carpeta donde se guardarán los archivos PDF.

Código VBA de la macro

El siguiente código VBA nos ayudará a decidir si deseamos Imprimir por ID o guardar en archivos PDF.

'EXCELeINFO
'MVP Sergio Alejandro Campos
'http://www.exceleinfo.com
'https://www.youtube.com/user/sergioacamposh
'http://blogs.itpro.es/exceleinfo

Option Explicit

Sub ElegirAccion()
Dim Elegir As Variant
Dim i As Integer
Dim miArchivo As String
Dim Ruta As String
Dim intInicial As Integer
Dim intFinal As Integer
Dim intConsecutivo As Integer
Dim srtTitulo As String

srtTitulo = "EXCELeINFO"
intConsecutivo = ThisWorkbook.Sheets("Datos").Range("CONSECUTIVO").Value

Elegir = InputBox("Elige la acción a ejecutar:" & vbNewLine & "1 = Imprimir" & _
vbNewLine & "2 = Guardar en PDF", srtTitulo)

If Elegir <> 1 And Elegir <> 2 Then
    MsgBox "Debe elegir una opción correcta.", vbExclamation, srtTitulo
ElseIf Elegir = 1 Then
    
    intInicial = InputBox("Introduce el ID inicial", srtTitulo)
    intFinal = InputBox("Introduce el ID final", srtTitulo)
    
    If intFinal < intInicial Or intFinal > intConsecutivo Then
        MsgBox "Valida el ID final.", vbExclamation, srtTitulo
    Else
        For i = intInicial To intFinal
            
            ThisWorkbook.Sheets("Imprimir").Range("F4").Value = i
            MsgBox "Imprimiendo ID '" & i & "'. Presione Aceptar para continuar...", vbInformation, srtTitulo
            'ThisWorkbook.ActiveSheet.PrintOut Copies:=1
            
        Next i
    End If
    
ElseIf Elegir = 2 Then
    
    intInicial = InputBox("Introduce el ID inicial", srtTitulo)
    intFinal = InputBox("Introduce el ID final", srtTitulo)
    
    If intFinal < intInicial Or intFinal > intConsecutivo Then
        MsgBox "Valida el ID final.", vbExclamation, srtTitulo
    Else
        'Propiedad FileDialog
        With Application.FileDialog(msoFileDialogFolderPicker)
            .InitialFileName = Application.DefaultFilePath & " \ "
            .Title = "EXCELeINFO - Seleccionar carpeta"
            .Show
            If .SelectedItems.Count = 0 Then
            Else
                Ruta = .SelectedItems(1)
                For i = intInicial To intFinal
                    
                    ThisWorkbook.Sheets("Imprimir").Range("F4").Value = i
                    
                    MsgBox "Guardando en PDF ID '" & i & "'. Presione Aceptar para continuar...", _
                    vbInformation, srtTitulo
                    
                    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                    Ruta & "\" & i & ".pdf", Quality:=xlQualityStandard, _
                    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
                    
                Next i
            End If
        End With
    End If
End If
    
End Sub

Descarga el archivo de ejemplo

Descargar el ejemplo Formulario de Excel para IMPRIMIR o GUARDAR EN PDF – EXCELeINFO.zip

Enviar rango de celdas por email a varios destinatarios desde Excel

$
0
0

Feliz y exitoso nuevo

En un artículo y video anterior vimos cómo enviar emails desde Excel usando macros, el cual fue bien recibido entre los suscriptores de EXCELeINFO. Desde que se publicó el video he recibido algunos comentarios sobre cómo enviar un rango de celdas como cuerpo de mensaje.

Te cuento que vi un artículo de mi amigo Ismael Romero, MVP de Excel, donde nos regala una macro para usar una herramienta de Excel llamada Enviar a destinatario de correo. Este artículo está basado en ese artículo.

Ver video Enviar rango de celdas por email desde Excel

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Enviar a destinatario de correo

Si deseamos enviar un rango de celdas por email, no sólo está la manera de copiar y el rango y pegarlo en un nuevo correo desde Outlook de Office. Desde Excel, podemos invocar una utilidad que nos permitirá seleccionar un rango de celdas, un destinatario de correo y su respecto asunto, así como una descripción. Será necesario contar con Outlook de Office.

Para mostrar la herramienta:

  • Damos clic derecho sobre cualquier pestaña.
  • En la sección Comandos disponibles en: elegimos Todos los comandos.
  • Elegimos Enviar a destinatario de correo y presionamos el botón Agregar >>.
  • Al final presionamos Aceptar y vemos cómo se añade a la parte superior de Excel.

Se enviará el rango seleccionado en el cuerpo del correo.

Figura 1. Se enviará el rango seleccionado en el cuerpo del correo.

Enviar mails a varios destinatarios de correo

El ejemplo anterior nos sirve para enviar un rango de celdas a un correo, pero qué tal si necesitamos enviar el mismo rango a varios destinatarios y mejor aún, que ese rango sea dinámico, es decir, que contenga información diferente para cada destinatario.

En la Figura 2 vemos cómo hacemos uso de la función BUSCARV para devolver datos en base a un ID. La información a devolver la tenemos en la hoja llamada Datos.

Devolvemos datos de ventas en base a un ID.

Figura 2. Devolvemos datos de ventas en base a un ID.

Macro para enviar un rango a varios destinatarios

Como comenté al inicio, este artículo fue basado en uno que publicó Ismael Romero. Con su autorización tomé la macro del artículo y le hice algunas modificaciones.

La macro funciona de a siguiente manera: Mediante un bucle For indicamos un id inicial y no final. Al correr la macro comenzará en el primer id, ese id se pegará en la hoja Resumen en la celda F4, con el BUSCARV devolvemos la información correspondiente a ese id y se envía el rango elegido. Así hasta llegar al último id.

La siguiente macro deberás pegarla en un módulo normal.

'EXCELeINFO
'MVP Sergio Alejandro Campos
'http://www.exceleinfo.com
'https://www.youtube.com/user/sergioacamposh
'http://blogs.itpro.es/exceleinfo
'
'Macro publicada originalmente en: http://excelforo.blogspot.mx/2017/12/vba-enviar-rango-destinatario-de-correo.html
'
Sub Enviar_Rango_a_Destinatario_de_correo()
   
'Seleccionamos el rango de celdas a enviar Select
ActiveSheet.Range("A8:F18").Select

For i = 1 To 2

    'El valor de i se pone en la celda F10 para que con BUSCARV se devuelvan
    'los datos correspondientes al ID.
    ThisWorkbook.Sheets("Resumen").Range("F10").Value = i
    
    'Mostramos la sección para enviar correo.
    ActiveWorkbook.EnvelopeVisible = True
    
    'Llamamos al envío...
    With ActiveSheet.MailEnvelope
       .Item.To = ThisWorkbook.Sheets("Resumen").Range("B11").Value
       '.Item.cc = "correo1@dominio.com"            'con copia a...
       '.Item.bcc = "correo2@dominio.com"      'con copia oculta a...
       .Item.Subject = "Resumen de ventas"
       .Introduction = "Se adjunta resumen de ventas del año 2017."
       .Item.Send
    End With

Next i
End Sub

Descargar el ejemplo

Descargar el ejemplo Enviar rango por email – EXCELeINFO.zip

Colaboración: Borrar registros desde un ListBox en Excel vba

$
0
0

Autor invitado: Ismael Romero, MVP

En este post veremos la manera de eliminar items desde un ListBox, con una selección múltiple, de una sola vez, diferentes registros de una base de datos en nuestra hoja de cálculo.

Partiremos de una Tabla en el rango A1:A7 llamada TblPais y de un UserForm con un ListBox de nombre LstPais y un botón de comando cmdBorrado.

Elegimos diferentes items en el ListBox

Figura 1. Elegimos diferentes items en el ListBox.

El objetivo es que después de seleccionar uno o varios elementos del ListBox, y tras presionar el botón de borrado, se eliminen dichas celdas de la tabla origen.

Para ello en la ventana de código del UserForm en el editor de VB añadiremos un primer evento _Initialize asociado al UserForm que realice la carga de elementos en el ListBox empleando la propiedad RowSource.

Así mismo habilitaremos la propiedad MultiSelect para permitir la selección múltiple, y la propiedad ListStyle para mostrar unos cuadros de selección para cada elemento (puramente estético).

Código vba de la macro

Private Sub UserForm_Initialize()
'cargamos el listbox con los valores de la Tabla en la hoja de cálculo
Me.LstPais.RowSource = "TblPaises[paises]"
'asignamos propiedades para selecciones múltiples
Me.LstPais.MultiSelect = fmMultiSelectMulti
'y que aparezca un botón de seelccion al lado de cada elemento
Me.LstPais.ListStyle = fmListStyleOption
End Sub

Por otra parte, el código vinculado al evento Click del botón de comando sería:

Private Sub cmdBorrado_Click()
If Me.LstPais.ListIndex >= 0 Then
For elto = (Me.LstPais.ListCount - 1) To 0 Step -1
    If Me.LstPais.Selected(elto) = True Then
        Dim sEncontar As String, rngBusqueda As Range
        'trabajamos sobre el elemento del listbox seleccionado
        Select Case Me.LstPais.List(elto)
            'en caso haya alguno seleccionado
            Case Is <> ""
                'definimos el valor/pais a encontrar
                sEncontrar = Me.LstPais.List(elto)
                'determinamos dónde buscar 8en qué rango)
                With ActiveSheet.Range("TblPaises[paises]")
                    Set rngBusqueda = .Find(what:=sEncontrar)
                    'si se ha encontrado el valor/país
                    If Not rngBusqueda Is Nothing Then
                        'marcamos esa celda en la hoja de cálculo
                        'y eliminamos desplazando el resto hacia arriba
                        rngBusqueda.Delete shift:=xlUp
                    End If
                End With
            'para el resto de casos salimos del procedimiento
            Case Else
                Exit Sub
        End Select
    End If
Next elto
End If
'volvemos a cargar el ListBox con el resultado de la hoja de cálculo
Me.LstPais.RowSource = "TblPaises[paises]"
End Sub

Este procedimiento básicamente recorre los diferentes elementos del LixtBox en busca de aquellos marcados. En caso de haber elementos marcados, realiza una búsqueda (con el método Find) para localizar su posición en la hoja de cálculo y proceder a su eliminación.

La macro acaba cargando de nuevo en el ListBox los países resultantes que ha permanecido después del borrado.

Descargar el ejemplo

Descargar el ejemplo Borrar Registros Desde Listbox MultiSelect  -ExcelForo.zip

BUSCARV con imágenes en Excel usando vba y macros

$
0
0

Hola a todos. En este artículo y video veremos un ejemplo muy interesante en el que haremos uso de la función BUSCARV para devolver información de otra hoja de Excel, pero iremos más allá, además de devolver los datos correspondientes al valor buscado, también devolveremos la imagen o foto correspondiente a ese registro. Estoy seguro que este ejemplo lo podrán adecuar a un proyecto interesante y sacarle el máximo provecho.

Ver video BUSCARV con imágenes en Excel usando vba y macros

Cómo funciona

Tenemos una hoja de cálculo llamada Buscar, donde diseñamos un formulario de búsqueda de datos. La búsqueda de datos será mediante un ID. Con el uso de la función BUSCARV devolveremos los siguientes datos, mismo que se encuentran en la hoja Base:

  • Nombre
  • Apellido paterno
  • Apellido materno
  • Edad
  • Puesto
  • Departamento
  • Ventas
  • Experiencia
  • Foto o imagen ß éste es el plus que tiene este ejemplo

Uso de BUSCARV para devolver datos

Recordemos que la función BUSCARV nos ayudará a devolver información de otra hoja de Excel. Nuestro valor buscado será un ID de 4 dígitos. Los valores a devolver se encuentran en la hoja llamada Base. Hasta este punto quiero pongan atención a lo siguiente, en la hoja base, además de tener los datos de las personas, también almacenaremos el nombre de la imagen correspondiente a cada registro. Las imágenes deberán estar en una carpeta llamada emoticones, y debe estar en la misma ubicación que el archivo de Excel.

Las imágenes deben estar en la carpeta que definamos para las imágenes y los nombres deben coincidir.

Figura 1. Las imágenes deben estar en la carpeta que definamos para las imágenes y los nombres deben coincidir.

BUSCARV para devolver imágenes

Al analizar este ejemplo te darás cuenta que la función BUSCARV no precisamente nos devolverá una imagen, pero sí el nombre del archivo de imagen correspondiente al valor buscado, y mediante el evento Worksheet_Change y código vba (macros) mostraremos la imagen o foto que coincida con el nombre de archivo.

Para mostrarla imagen es necesario insertar una forma rectangular, siguiendo los siguientes pasos:

  • Ficha Insertar > Ilustraciones > Formas > Rectángulo.
  • Dibujamos el rectángulo en el rango F13 y le ajustamos el tamaño.
  • Le cambiamos el nombre a la forma y le ponemos Foto.

Es importante que la forma rectangular tenga el nombre Foto para que la macro funcione.

Figura 2. Es importante que la forma rectangular tenga el nombre Foto para que la macro funcione.

Cómo funciona la macro

Como dije anteriormente, haremos uso del evento Worksheet_Change, que nos ayudará a detectar cualquier cambio en la hoja, como escribir un ID, y lo que hará la macro es, buscar un archivo que se llame igual al nombre que tiene el registro mostrado (celda F13) y haciendo uso de la propiedad Fill se rellenará el rectángulo con la imagen encontrada.

 Al escribir el ID se mostrará el nombre de la imagen y al encontrar un archivo con ese nombre, se mostrará la imagen.

Figura 3. Al escribir el ID se mostrará el nombre de la imagen y al encontrar un archivo con ese nombre, se mostrará la imagen.

Código vba de la macro

Damos clic derecho en la etiqueta de la hoja Buscar y veremos el siguiente código VBA:

Option Explicit
'
'EXCELeINFO
'MVP Sergio Alejandro Campos
'http://www.exceleinfo.com
'https://www.youtube.com/user/sergioacamposh
'http://blogs.itpro.es/exceleinfo
'
Private Sub Worksheet_Change(ByVal Target As Range)
'Declaramos variables
Dim RutaArchivo As String
Dim RutaImagen As String

'En caso de error...
On Error GoTo ErrorHandler

'Obtenemos la ruta del archivo actual
RutaArchivo = ThisWorkbook.Path
'Definimos la ruta de la carpeta de las imágenes
RutaImagen = RutaArchivo & "\emoticones\" & Sheets("Buscar").Range("F13").Value

'Reemplazamos imagen...
ActiveSheet.Shapes("Foto").Fill.UserPicture (RutaImagen)

Exit Sub
ErrorHandler:
ActiveSheet.Shapes("Foto").Fill.UserPicture (RutaArchivo & "\emoticones\no-photo.png")

End Sub

Descarga los archivos de ejemplo

Descargar el ejemplo BUSCARV con imágenes en Excel usando vba – EXCELeINFO.zip

Encuesta macros vba en Excel

$
0
0

No te quito mucho tiempo, sólo te pido que si usas macros o desarrollas macros en lenguaje VBA, me ayudes con esta sencilla encuesta acerca del tema de indentación de código o lo que es lo mismo, aplicar sangría.

Si no ves la encuesta, por favor da clic aquí.

Te agradezco tu participación.

Encuesta macros vba para Excel

EXCELeINFO add-in 4.4 Herramientas para desarrolladores VBA

$
0
0

EXCELeINFO add-in 4.4

“Desde el año 2010, EXCELeINFO add-in se ha venido actualizando con un único propósito: Optimizar tiempo en Excel y volverte más productivo”.

Con mucho gusto comenzamos el 2018 con una actualización de nuestro EXCELeINFO add-in, donde implementamos una herramienta que desde hace tiempo la creía necesaria, sobretodo para los que usamos y desarrollamos macros en Excel con lenguaje VBA.

Encuesta macros vba en Excel

En días pasados lancé una encuesta para medir el conocimiento acerca de una buena práctica cuando trabajamos con lenguajes de programación, en especial para los que usamos y escribimos macros en Excel. El propósito de la encuesta fue medir la práctica de la indentación o sangrado de código VBA y saber qué metodología utilizan para tal práctica. Los resultados son interesantes.

La pregunta fue ¿Cómo indentas el código vba de tus macros?

  • Aplico sangrías con la tecla TABULACIÓN,
  • Utilizo una página Web
  • Instalé un software
  • Utilizo un add-in
  • ¿Qué es indentación?

Cómo indentas el código vba de tus macros?

Figura 1. Aplicamos una encuesta para medir el uso y conocimiento de la indentación de código VBA.

Lo que podemos rescatar de la encuesta es que el 59% de los usuarios utilizan la tecla TABULACIÓN para aplicar sangría, mientras que el 33% menciona no saber a qué me refiero con indentación. El 8% restante utilizan una página Web o instalado software o add-ins para sangrar código.

Indentación

Indent es una palabra en Inglés, la cual se usa frecuentemente en informática y su práctica implica mover texto hacia la derecha, ya sea aplicando espacios o tabulaciones. En español usamos la palabra indentar, aunque no es aceptada por la Real Academia Española, la cual recomienda usar la palabra sangrar o aplicar sangría.

Cuando utilizamos algún IDE para utilizar un lenguaje de programación, utilizamos los botones de Sangría derecha o Sangría izquierda, para mover bloques de código, aunque algunos ya tienen la opción de la indentación automática como es el caso de Visual Studio, no así el IDE de VBA.

El beneficio de tener código con los niveles de sangría correctos se puede resumir en que tendremos un código limpio, legible y fácil de administrar y mantener.

En la figura 2 vemos una comparativa de código VBA sin indentar y el mismo código indentado.

Código VBA sin indentar VS código VBA indentado.

Figura 2. Código VBA sin indentar VS código VBA indentado.

EXCELeINFO add-in 4.4

► Desarrollador VBA >> Indentar código VBA

Para ayudar a los desarrolladores de macros vba a que tengan sus código legibles u ordenados, añadimos un formulario donde sólo será necesario pegar código VBA, presionar el botón Indentar y la herramienta hará el trabajo de sangrar el código. Al terminar, el código será copiado automáticamente para que lo podamos pegar en el módulo de donde lo tomamos.

Indentar código VBA en EXCELeINFO add-in.

Figura 3. Indentar código VBA en EXCELeINFO add-in.

Al presionar el botón indentar, el código se pasará al portapapeles para pegarlo en un módulo.

Figura 4. Al presionar el botón indentar, el código se pasará al portapapeles para pegarlo en un módulo.

► Opciones de vista

En esta nueva versión hacemos un ligero cambio en el orden de los botones. El botón de Opciones de vista mantendrá las opciones de Configuración de hoja y libro, y la opción de Configuración Regional y de idioma.

Descarga EXCELeINFO add-in

Aprende a instalar EXCELeINFO add-in


Abrir archivos PDF en Excel mediante Combobox usando macros vba

$
0
0

Hola a todos. Los saludo con mucho gusto. En este artículo y video te muestro cómo abrir archivos PDF desde Excel, usando macros VBA. Usaremos un formulario donde habrá un Combobox que servirá para enlistar los nombres de varios archivos PDF y un control llamado WebBrowser1 para mostrar el contenido del archivo PDF elegido.

Devolver nombre de archivos PDF

Primero será necesario tener EXCELeINFO add-in instalado para devolver el nombre de los archivos de cualquier carpeta que tenga archivos PDF. Aquí puedes descargar el add-in.

  • Entramos a la pestaña EXCELeINFO.
  • Seleccionamos Archivos > Listar nombre de archivos de una carpeta…
  • Damos clic en Examinar para elegir la carpeta.
  • Marcamos Extensión y escribimos PDF.
  • Damos clic en Aceptar y se creará un archivo con el detalle de archivos de la carpeta.

Devolvemos la ruta y nombre de los archivos PDF.

Figura 1. Devolvemos la ruta y nombre de los archivos PDF.

La ruta y nombre los archivos nos servirá, ya que en base a ese dato es que el control WebBrowser podrá mostrar el contenido de los archivos PDF, de la misma manera en que mostrarían en un navegador Web.

Ver video Abrir archivos PDF en Excel

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

En el video mostramos paso a paso cómo crear este ejemplo.

Diseñar el Formulario

Entramos al IDE de Visual Basic para Aplicaciones (VBA), damos clic derecho en el nombre del archivo y elegimos Insertar > UserForm. Dentro del formulario insertamos los siguientes controles:

  • Una Etiqueta.
  • Un Combobox.
  • Un Botón para cerrar.
  • Un control WebBrowser.

Para mostrar el control WebBrowser damos clic derecho en una sección en blanco del Cuadro de herramientas y elegimos Controles adicionales. En la lista de Controles disponibles marcamos Microsoft Web Browser.

Control Web Browser para mostrar contenido de archivos PDF.

Figura 2. Control Web Browser para mostrar contenido de archivos PDF.

Cómo funciona el formulario

Primero modificamos el orden de las columnas del archivo, en la columna A dejamos el nombre de los archivos y en la columna B dejamos la ruta completa. El Combobox mostrará los nombres de la columna B y mediante un BUSCARV o VLOOUKUP en VBA devolveremos la ruta completa que se encuentra en la columna B, y en base a esa ruta, el control WebBrowser mostrará el contenido del archivo PDF elegido.

Mostramos el contenido del archivo PDF elegido.

Figura 3. Mostramos el contenido del archivo PDF elegido.

Código VBA de las macros

El evento Initialize del formulario se ejecutará al momento de abrir el formulario y el Combobox se llenará con el nombre de los archivos.

Option Explicit
'
'EXCELeINFO
'MVP Sergio Alejandro Campos
'http://www.exceleinfo.com
'https://www.youtube.com/user/sergioacamposh
'http://blogs.itpro.es/exceleinfo

Private Sub UserForm_Initialize()
    Dim UltimaFila As Integer
    Dim i As Integer
    Dim Nombre As String
    
    UltimaFila = Application.WorksheetFunction.CountA(ThisWorkbook.Sheets("Hoja1").Range("A:A"))
    
    For i = 2 To UltimaFila
        
        Nombre = ThisWorkbook.Sheets("Hoja1").Cells(i, 1).Value
        Me.ComboBox1.AddItem Nombre
        
    Next i
    
End Sub

El evento Change del Combobox servirá para mostrar el contenido de cada PDF cada vez que se elige un nombre de la lista.

Option Explicit
'
'EXCELeINFO
'MVP Sergio Alejandro Campos
'http://www.exceleinfo.com
'https://www.youtube.com/user/sergioacamposh
'http://blogs.itpro.es/exceleinfo

Private Sub ComboBox1_Change()
    
    Dim Nombre As String
    Dim RangoMatriz As Range
    
    On Error GoTo ManejadorErrores
    
    Set RangoMatriz = ThisWorkbook.Sheets("Hoja1").Range("A:B")
    
    Nombre = Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, RangoMatriz, 2, 0)
    
    Me.WebBrowser1.Navigate Nombre
    
    Exit Sub
ManejadorErrores:
    
    MsgBox "Ha ocurrido un error: " & Err.Description, vbInformation, "EXCELeINFO"
    
End Sub

Descargar el archivo de ejemplo

Descargar el ejemplo Abrir archivos PDF en Excel mediante listado en Combobox usando macros vba – EXCELeINFO.zip

Por qué aprender Excel, en la opinión de Victor Román (Microsoft Excel a Todo Nivel)

$
0
0

Por Víctor Román.

Víctor, es un buen amigo mío, con el cual comparto la pasión de sorprendente hoja de cálculo llamada Excel. Víctor es fundador del canal de Youtube Microsoft Excel a Todo Nivel (METN) en donde comparte sus experiencias con Excel, además de tener series de cursos dedicados a usuarios de todo nivel, desde lo que comienzan con Excel hasta los más avanzados.


Por qué aprender Excel.

Microsoft Excel a Todo Nivel (METN)Actualmente no hay ninguna empresa rentable que no utilice hojas de cálculo para llevar muchas de las tantas actividades administrativas, sin embargo el tiempo que se pasa frente una hoja de cálculo sigue siendo demasiado ya que más del 70% de los usuarios solo conoce aproximadamente 30% de las herramientas reales que ofrecen.
Chicas, medianas y grandes empresas apuestan cada día más sobre herramientas que mejoran la rapidez, la oportunidad y seguridad de la información que sirve para la toma de decisiones.
Tales razones me llevan a creer que aprender Excel es más importante de lo que se piensa, si bien ha tomado fuerza la importancia de tener conocimientos de Excel a la hora de seleccionar a su personal, aún existen brechas en donde ni siquiera resulta importante para los empleadores.
Dicho esto, pregunto nuevamente. ¿Por qué aprender Excel?
Microsoft Excel es una aplicación líder entre de las hojas de cálculo existentes a tal nivel que se habla más de Excel que de hojas de Cálculo, en las empresas de hoy en día es muy difícil encontrar aquella que no utilices Microsoft Excel para la gestión de sus necesidades administrativas.
El dominio fluido de Excel hará la diferencia en muchos de los casos cuando asistas a participar en una oferta de trabajo además de que agregará el plus a tu currículo a la hora de postularte.
Tener conocimientos de Excel te ayudará a resolver problemas complejos que podría llevarte horas en cuestión de algunos minutos o hasta segundos, así de genial puede ser.
Quienes de nosotros no nos gustaría terminar nuestro trabajo en el menor tiempo, sin errores y sin un esfuerzo mayor. La variedad de herramientas que tiene, en lugar de representar un inconveniente, son una gran ayuda, porque podemos elegir entre todas ellas la que más se adecue a nuestras necesidades. La diferencia entre la inversión de tiempos y la eficiencia en el uso de Excel radica en el conocimiento de algunos conceptos claves que una vez que los tienes dominados puedes ver todo aquello que Excel puede hacer por nosotros.
Por qué aprender ExcelEn Excel podemos crear desde una pequeña tabla de datos hasta complejos sistemas de administración, estadísticos, contables etc. Excel es una herramienta extremadamente flexible a tal nivel que en muchas empresas representa una alternativa para definir si adquirir un sistema a medida o no ya que en muchos casos Excel es capaz de hacer la gran mayoría de las tareas que realiza un sistema.
Lo mencionado con anterioridad es solo una pequeña muestra de lo que se puede lograr con Microsoft Excel, debido a esto, es casi obligatorio para cualquier estudiante, trabajador o emprendedor sin importar su profesión, rango o nivel socioeconómico manejar esta herramienta a un buen nivel.
Excel es ampliamente utilizado por las empresas, agencias, grupos, organizaciones privadas, científicos, educadores, formadores, investigadores, estudiantes, periodistas, contadores y otros, por lo que se ha convertido en un conocimiento básico de los usuarios finales y profesionales del negocio.

Invitado | Relacionar múltiples Tablas en Power Pivot para resumir datos en Excel

$
0
0

Relacionar Múltiples Tablas

El ADN de Power Pivot. Sé un experto en análisis de información en ExcelPrimero, debemos mencionar que Power Pivot es el elemento base del paquete de soluciones que ha desarrollado Microsoft para hacer inteligencia de negocios, debido a que nos brinda la posibilidad de Integrar cantidades masivas de datos, que pueden estar alojadas en diferentes gestores de bases de datos como por ejemplo Access o SQL Server, para luego, a través de la construcción de expresiones creadas en el lenguaje DAX (Algo “similar” a las funciones de Excel), poder extraer conocimiento oportuno, accionable y aplicado a la toma de decisiones efectiva.

Cabe mencionar que Power Pivot es una herramienta relativamente nueva, debido a que salió en la versión de Excel del año 2010 como un complemento, sin embargo, existen muchos usuarios que desconocen su potencial y la cantidad de posibilidades para hacer inteligencia de negocios.

Recomendado: El ADN de Power Pivot. Sé un experto en análisis de información en Excel.

Pero dejemos las palabras de lado y veamos más de cerca, algunas de las funcionalidades que tiene Power Pivot a través del siguiente ejemplo.

Ver también: Tablas Dinámicas, La Quinta Dimensión.

Ejemplo – Análisis de Ventas

Imagina que trabajas en una tienda que distribuye teléfonos móviles a diferentes almacenes de cadena alrededor de sur américa, y se te ha solicitado crear un reporte de tabla dinámica para analizar los ingresos obtenidos, dado el nombre del producto y el nombre del cliente.

Para realizar dicho reporte contamos con tres tablas de datos, alojadas en diferentes hojas de un mismo libro, a continuación puedes ver cada tabla

  • Registro de Ventas: Contiene toda la información referente a las ventas producidas desde el año 2005 hasta el año 2015.

Tabla en Excel

  • Información de Cliente: Contiene información detallada de todos los clientes de la tienda.

Tabla clientes

  • Información de Producto: Contiene información asociada a cada producto de la tienda.

Tabla productos

Como podemos observar, en la tabla Registro de Ventas no se encuentran el nombre del producto ni de cliente en cada transacción, sin embargo, en las otras dos tablas SI contamos con esta información. Para crear el reporte de tabla dinámica que discrimine los ingresos tanto por nombre de Cliente como por nombre de Producto, tendríamos que crear una Tabla Unificada, adicionando columnas auxiliares a la tabla registro de ventas, donde utilizaríamos la función BUSCARV para asignar el nombre del producto y nombre del cliente según los ID respectivos.

Este es el método clásico y aquí no vamos a entrar en detalle, por el contrario, vamos a utilizar el magnífico poder de Power Pivot para relacionar tablas solo con unos cuantos clics.

Activar Complemento

Para crear la relación entre tablas, primero debemos estar seguros que el complemento Power Pivot ha sido habilitado, de ser así, podremos ver la pestaña Power Pivot en la hoja de Excel, en caso contrario puedes activarlo de la siguiente manera:

1. Clic izquierdo en la pestaña Archivo.

2. En la lista de opciones que se despliega, elegimos Opciones.

3. En el cuadro de dialogo Opciones de Excel que aparece automáticamente, elegimos la sección Complementos.

4. En la lista desplegable Administrar, seleccionamos la opción Complementos COM y presionamos el botón Ir …

Complementos en Excel

5. En el cuadro de dialogo Complementos COM, que aparece automáticamente, debemos habilitar la opción Microsoft Office Power Pivot for Excel 2013 y presionamos el botón Aceptar.

Complementos COM en Excel

6. De manera inmediata debe visualizarse la Pestaña Power Pivot en la hoja de Excel, de no ser así, puedes reiniciar el programa y la pestaña aparecerá.

Power Pivot en Excel

Nota: Debes tener en cuenta si tu versión de office incluye Power Pivot. A continuación se listan las versiones de Office 2016 que incluyen este complemento.

  • Office 365 Enterprise E2
  • Office 365 Enterprise E3
  • Office Professional Plus
  • Office Standalone

Ahora, vamos a agregar al Modelo de Datos/Power Pivot todas las tablas que tenemos a nuestra disposición en el libro, sin embargo, debemos tener en cuenta que es recomendable que la lista o rango de datos que se va a agregar al modelo de datos, sea configurado como una Tabla Estructurada.

Para convertir un rango de datos en una tabla estructurada:

1. Debemos seleccionar el Rango de Datos, el cual vamos a transformar en una tabla estructurada de Excel.

2. Presionamos la combinación de Teclas CTRL + T.

Convertir rango en Tabla

3. En el cuadro de dialogo Crear Tabla, validamos que el rango de datos sea el apropiado, y habilitamos la opción La tabla tiene encabezados de ser cierto, y para finalizar damos clic en el botón Aceptar.

De esta manera convertimos una lista de datos en una tabla estructurada de Excel, pero acá no para el asunto, luego, debemos modificar el Nombre de la Tabla Estructurada, porque al agregar las tablas al modelo de datos, mantendrán el nombre por defecto que ha asignado Excel.

Para Modificar el Nombre de una tabla estructurada:

  1. Situamos la celda activa sobre la tabla estructurada.
  2. Nos dirigimos al grupo Propiedades, de la pestaña Diseño, una vez allí, podremos reescribir el nombre de la tabla, para finalizar presionamos la tecla Enter.

Nombre de Tabla

Nota: Debes repetir el procedimiento para cada tabla estructurada que desees agregar al modelo de datos.

Agregar Tabla al Modelo de Datos

Con las tablas ya creadas, vamos a agregarlas al modelo de datos una a una:

1. Situamos la celda activa sobre la tabla estructurada RegistroVentas.

2. Nos dirigimos a la pestaña Power Pivot, grupo Tablas y damos clic sobre el comando Agregar al Modelo de Datos.

Agregar al modelo de datos

3. Al esperar unos segundos, se carga la propia ventana de Power Pivot con la tabla en una Hoja individual.

Power Pivot en Excel

4. Ahora, Debemos repetir el procedimiento para las demás tablas.

Cargar Tablas a Power Pivot

Con las tablas agregadas al modelo de datos, ha llegado la hora de la verdad, puesto que ya podemos relacionarlas.

Relacionar Tablas en Power Pivot

1. En la ventana de Power Pivot, vamos a la pestaña Inicio, Grupo Ver y damos clic sobre el comando Vista de Diagrama.

Vista de diagrama

En la vista de diagrama se muestra una representación de las tablas que han sido agregadas al modelo de datos, la columna ID Cliente en la tabla ClientesInfo contiene los elementos que son únicos, y se le denomina, Clave Principal, por otra parte, la columna ID de Cliente en la tabla RegistroVentas contiene los elementos repetidos, y es conocida como Clave Externa, teniendo esto en cuenta, vamos a crear una relación entre tablas de tipo Uno a Muchos y consiste en relacionar dos tablas mediante una columna equivalente, es decir, relacionar las columnas que coinciden en ambas tablas (ID Cliente), pero en una tabla, los elementos de la columna están listados una sola vez, como el campo ID Cliente de la tabla ClientesInfo.

2. Teniendo en mente el tipo de relación que vamos a crear, situamos con el cursor sobre el campo ID Cliente de la tabla ClientesInfo, pulsamos clic izquierdo y manteniéndolo presionado llevamos la línea que aparece a el campo equivalente en la tabla RegistroVentas.

Relaciones en Power Pivot

3. Debemos repetir el mismo procedimiento para el campo ID Producto.

Y Aunque no lo creas, eso es todo lo que debes hacer para relacionas tablas con Power Pivot, un procedimiento que resulta bastante sencillo, elegante y sobre todo productivo, si pensamos en todas las “acrobacias” que debemos hacer para relacionar tablas de otra manera. Ahora, el paso siguiente consiste en crear una tabla dinámica con los campos de las diferentes tablas.

Creación de la Tabla Dinámica

1. En la ventana de Power Pivot, nos dirigimos a la pestaña Inicio y damos Clic sobre el comando Tabla Dinámica.

Tabla dinámica con Power Pivot

2. En el cuadro de dialogo Crear Tabla dinámica que aparece, elegimos la ubicación de la misma, para este caso una Nueva Hoja de Cálculo y presionamos Aceptar.

Crear Tabla dinámica

3. Y en la nueva hoja aparece el área para crear la tabla dinámica.

Vista diseño de Tabla dinámica

4. Arrastramos los campos de las diferentes tablas a las áreas de colocación de la tabla dinámica: En el área de valores vamos a agregar el campo Ingresos ($) de la Tabla RegistroVentas, al área de filas, el campo Nombre de Producto de la tabla ProductosInfo y por ultimo, al área de columnas vamos a agregar el campo Nombre de Cliente de la tabla ClientesInfo.

Panel de campos de Tabla dinámica

Nota: Puedes ver en el panel de campos, como aparecen los campos de cada una de las tablas agregadas a Power Pivot, preparados para ser utilizados en cualquier área de colocación de la tabla dinámica, no te parece genial la posibilidad de crear diferentes perspectivas en el reporte para analizar los ingresos de la tienda.

¡Y automáticamente aparece la tabla dinámica!

Tabla dinámica con múltiples Tablas

Como puedes ver, la integración y manipulación de varias bases de datos es posible con un par de clics, aunque esto es solo una pequeña parte de lo que podamos lograr con Power Pivot, la verdad es que con esta herramienta las posibilidades son infinitas.

Recursos Relacionados con Power Pivot.

El ADN de Power Pivot: El ADN DE POWER PIVOT, es una completa guía paso a paso sobre Power Pivot, Construcción de Modelos de Datos y el Lenguaje DAX, desde sus fundamentos esenciales hasta sus aspectos más avanzados y complejos, cargado de ejemplos, aplicaciones, ilustraciones, ayudas visuales y una lectura amigable para dominar el arte de transformar datos en conocimiento útil enfocado a la toma de decisiones.

Más Información: El ADN de Power Pivot. Sé un experto en análisis de información en Excel.

Ver también: Tablas Dinámicas, La Quinta Dimensión.

Bueno por esta ocasión es todo, espero que te sumerjas en el universo Power Pivot, puede aumentar tu productividad en un 1000%. Adicionalmente agradezco a Sergio por invitarnos a su maravillosa comunidad.

Autor invitado: Excel Free Blog.

Macro para elegir e insertar n cantidad de filas y columnas en Excel

$
0
0

En mis labores diarias requiero elegir n cantidad de filas y columnas para posteriormente copiarlas a otro lugar, de la misma manera, requiero insertar n cantidad de filas y/o columnas.

Mediante el método InputBox recojo la cantidad de filas y columnas a seleccionar, para posteriormente tener la opción de insertarlas. InputBox me facilitará la manera de recoger información evitando el uso de Formularios, los cuales por esta ocasión dejaré descansar.

Elegir filas o columnas

Ejecutamos la macro y lo primero que nos pedirá es la cantidad de filas a elegir.

Elegir cantidad de filas a seleccionar

Figura 1. Elegir cantidad de filas a seleccionar.

Ahora te pide la cantidad de columnas a elegir.

Elegir cantidad de columnas a seleccionar

Figura 2. Elegir cantidad de columnas a seleccionar.

Insertar filas o columnas

Cuando ingresamos las cantidades de filas y columnas, se seleccionarán el rango correspondiente a las filas y columnas, además de que veremos un resumen del rango elegido y nos preguntará si deseamos insertar la misma cantidad de filas y columnas.

Confirmación sobre filas y columnas elegidas

Figura 3. Confirmación sobre filas y columnas elegidas.

En la Figura 3 vemos que se eligieron 10 filas y cero columnas. En la Figura 4 vemos cómo se insertan la mismas 10 filas a partir de la celda activa.

Vemos cómo se insertaron las 10 filas

Figura 4. Vemos cómo se insertaron las 10 filas.

Código vba de la Macro

'---------------------------------------------------------------------------------------
' Module    : Módulo1
' Author    : MVP, Sergio Alejandro Campos
' Date      : 22/04/2016
' Purpose   : Elegir e insertar n' cantidad de filas y columnas
' Website   : http://www.exceleinfo.com
' Subscribe : https://www.youtube.com/user/sergioacamposh
'---------------------------------------------------------------------------------------
'
Option Explicit
'
Sub ElegirInsertarFilasColumnas()
'
'Declaración de variables
'
Dim CeldaActiva As String
Dim FilasElegir As Integer
Dim ColumnasElegir As Integer
Dim FilaActiva, ColumnaActiva
Dim RangoElegido As String
Dim PreguntaIns As String
Dim NFilaActiva As String
Dim NColumnaActiva
'
On Error GoTo ErrorHandler
'[Opcional]
'Range("A9").Select
CeldaActiva = ActiveCell.Address
'
'Elegir cantidad de filas.
'
FilasElegir = InputBox(" A partir de " & CeldaActiva & _
                       " Cuántas filas deseas seleccionar?", "Número de filas", 0)
'
'Elegir cantidad de columnas.
'
ColumnasElegir = InputBox(" A partir de " & CeldaActiva & _
                          " Cuántas columnas deseas seleccionar?", "Número de columnas", 0)
'
FilaActiva = ActiveCell.Row
ColumnaActiva = ActiveCell.Column
'
If FilasElegir > 1 Then NFilaActiva = FilaActiva + FilasElegir - 1 Else NFilaActiva = FilaActiva
If ColumnasElegir > 1 Then NColumnaActiva = ColumnaActiva + ColumnasElegir - 1 Else NColumnaActiva = ColumnaActiva
'
'Seleccionar la cantidad de filas y columnas antes ingresadas.
'
Range(Cells(FilaActiva, ColumnaActiva), Cells(NFilaActiva, NColumnaActiva)).Select
RangoElegido = Selection.Address
'
'Una vez elegidas las filas y columnas, se pregunta si se requiere insertar.
'
PreguntaIns = MsgBox("Rango: " & RangoElegido & vbNewLine & vbNewLine & "Se eligieron " & _
                     FilasElegir & " filas y " & ColumnasElegir & " columnas." & vbNewLine & vbNewLine & _
                     "Deseas insertar esa misma cantidad de filas y columnas?", vbQuestion + vbYesNo, "EXCELeINFO")
'
If FilasElegir = 0 And ColumnasElegir = 0 Then Exit Sub
'
'Se insertan la misma cantidad de filas y columnas antes ingresadas.
'
If PreguntaIns = vbYes Then
    If FilasElegir = 0 Then
        Range(Cells(FilaActiva, ColumnaActiva), Cells(NFilaActiva, NColumnaActiva)).EntireColumn.Insert
    Else
        If ColumnasElegir = 0 Then
            Range(Cells(FilaActiva, ColumnaActiva), Cells(NFilaActiva, NColumnaActiva)).EntireRow.Insert
        Else
            Range(Cells(FilaActiva, ColumnaActiva), Cells(NFilaActiva, NColumnaActiva)).EntireColumn.Insert
            Range(Cells(FilaActiva, ColumnaActiva), Cells(NFilaActiva, NColumnaActiva)).EntireRow.Insert
        End If
    End If
End If
'
Exit Sub
'
'En caso de error, por lo regular no ingresar un número válido.
'
ErrorHandler:

MsgBox "Error: " & Err.Description & "." & vbNewLine & vbNewLine & _
       "Debes ingresar un número válido.", vbExclamation, "Error de número"

End Sub

Descarga el ejemplo

Descarga el archivo usado en este ejemplo: Elegir e insertar n cantidad de filas y columnas.xlsm.

Autoajustar columnas con macros y asignar un método abreviado que esté disponible en todo los archivos de Excel

$
0
0

Excel tiene muchas herramientas valiosas que nos hacen ser más eficientes en Excel, pero infortunadamente no existen métodos abreviados para acceder a todas. Una de ellas es Autoajustar ancho de columna.

Grabar macro y asignarle un método abreviado

Como lo mencioné anteriormente, la herramienta Autoajustar ancho de columna no tiene un método abreviado, por lo que nos daremos a la tarea de tenerla en una macro y asignarle un método abreviado, [Ctrl] + [M]. Haremos uso de la Grabadora de macro para obtener el código, además de asignarle un método abreviado, y para que esto sea más interesante, dejaremos la combinación disponible para todos los archivos.

Video tutorial

Tenemos una tabla de muestra donde vemos que el texto de las columnas es más grande que el ancho de las columnas.

Tabla de ejemplo en Excel

Figura 1. Tabla de ejemplo.

Para grabar la macro, nos vamos a Vista > Macros > Grabar macro. Primeramente asignamos el método abreviado [Ctrl] + [M] y guardamos la macro en el libro PERSONAL.

Grabar macro y asignarle un método abreviado

Figura 2. Grabar macro y asignarle un método abreviado.

Para ejecutar la herramienta Autoajustar, nos vamos a Inicio > Formato > Autoajustar ancho de columna. Una vez hecha la acción, detenemos la macro.

Autoajustar tamaño de columna en Excel

Figura 3. Autoajustar tamaño de columna en Excel.

Ahora cada vez que presionemos [Ctrl] + [M] se autoajustarán las columnas al ancho del texto.

Métodos abreviados en Excel

Figura 4. Método abreviado en Excel.

Código vba para asignar método abreviado a una macro

Mediante el método OnKey vamos a asignar un método abreviado a una macro previamente grabada. La macro grabada se llama AutoAjustar. Le hice unas adecuaciones para que detecte cuando se produzca algún error, por ejemplo que la hoja esté protegida.

Código de la macro AutoAjustar

Sub AutoAjustar()
'
Dim ErrorHandler As Error
'
On Error GoTo ErrorHandler
'
Selection.EntireColumn.AutoFit
'
Exit Sub
ErrorHandler:
MsgBox "Ha ocurrido un error: " & Err.Description & vbNewLine & vbNewLine & _
       "Procura que la hoja no esté protegida.", vbExclamation, AddIn
End Sub

Para que el método abreviado [Ctrl] + [M] esté siempre disponible usamos el siguiente código vba en un Módulo normal.

'---------------------------------------------------------------------------------------
' Module    : Módulo1
' Author    : MVP, Sergio Alejandro Campos
' Date      : 01/05/2016
' Purpose   : Métodos abreviados en Excel
'---------------------------------------------------------------------------------------

Sub Auto_Open()
Application.OnKey "^{m}", "AutoAjustar"
End Sub

Ahora usaremos Auto_Close para restaurar el método abreviado.

Sub Auto_Close()
Application.OnKey "^{m}"
End Sub

Descarga el ejemplo

Click aquí para descargar el ejemplo: Método abreviado en Excel.xlsm.

Barra de herramientas de acceso rápido en Excel. Ten tu herramientas favoritas a la mano

$
0
0

Excel tiene características extraordinarias para que podamos ser efectivos en nuestros análisis de información, pero hay una característica, que no por su simplicidad no merezca mi admiración. Hablo de la Barra de acceso rápido. Sí, esa barra en la parte superior de Excel donde puedo poner “accesos directos” a las herramientas que más utilizo en Excel.

Mis herramientas más usadas a la mano

La barra de acceso rápido me permite añadir las herramientas de Excel que desee, pero sobretodo las que más uso. De igual manera me permite añadirle un acceso directo a macros; y maravillosamente también podemos añadir accesos directos a herramientas incluidas en complementos (add-ins), como mi EXCELeINFO add-in.

Video tutorial

Añadir herramientas a barra de acceso rápido

Para el primer ejemplo vamos a añadir la herramienta Texto en columnas, la cual es una de las que más utilizo. Hay dos opciones para Personalizar la barra de acceso rápido:

Opción 1. Click derecho en cualquier parte del Ribbon y elegir la opción Personalizar barra de acceso rápido.

Click derecho Personalizar barra de herramientas de acceso rápido

Figura 1. Click derecho Personalizar barra de herramientas de acceso rápido.

Opción 2. Pestaña Archivo > Opciones.

Pestaña Archivo, Opciones.

Figura 2. Pestaña Archivo, Opciones.

Dentro del formulario Opciones elegimos la opción Barra de herramientas de acceso rápido. En el Combo Comandos disponibles en podemos hacer un filtro para que nos muestre las herramientas por categoría, las más usadas, macros las que no están en la cinta de opciones y las de algún add-in instalado.

Podemos elegir cualquier herramienta de Excel y macros

Figura 3. Podemos elegir cualquier herramienta de Excel y macros.

Para elegir a herramienta Texto en columnas voy a elegir Todos los comandos y buscar el que me interesa. Una vez elegida la herramienta presionamos el botón Agregar. En los botones de flechas que están a la derecha, podemos cambiarla de posición

Asignar herramientas a Barra de acceso rápido

Figura 4. Asignar herramientas a Barra de acceso rápido.

Una vez que elegimos la herramienta vemos que se inserta en la barra en la posición que le dimos; en este caso fue al final de todas.

Vemos cómo aparece la herramienta en la barra de acceso rápido

Figura 5. Vemos cómo aparece la herramienta en la barra de acceso rápido.

Métodos abreviados para acceder a las herramientas de barra de acceso rápido

En Excel no todas las herramientas tienen un método abreviado para poder ejecutarlos, pero cuando las añadimos a la barra, como por arte de magia Excel le asigna un tipo de método abreviado para poder correrlas. La clave está en la tecla Alt. Cuando la presionamos se mostrarán letras o números junto a cada botón de la barra y además junto a cada pestaña del Ribbon.

Si presionamos la tecla Alt, la soltamos y presionamos la tecla 9 veremos que se ejecuta la herramienta de Texto en columnas.

Combinaciones de teclas para ejecutar opciones de la barra de herramientas de acceso rápido

Figura 5. Combinaciones de teclas para ejecutar opciones de la barra de herramientas de acceso rápido.

5 poderosas ventajas de usar Tablas en Excel

$
0
0

El concepto de Tabla de Excel se acuño en Excel 2007, y desde entonces han sido una excelente herramienta para trabajar con información, sobretodo que tienen prestaciones útiles y fáciles de acceder, que de otra manera tendríamos que manejar de manera manual.

En este artículo, con video incluido, les muestro las ventajas usar las Tablas en Excel.

Ver Videotutorial

1. Formato personalizado

El usar Tablas nos permitirá aplicar formato rápido a nuestros rangos, teniendo varias opciones llamativas para elegir la que se adecúe a las necesidades.

Podemos elegir entre diferentes formato personalizados

Figura 1. Podemos elegir entre diferentes formato personalizados.

2. Encabezados

Otra ventaja que nos ofrecen las tablas es que, cuando nos desplazamos hacia abajo, los encabezados de la Tabla reemplazan a los encabezados de las columnas.

Los encabezados de las columnas se reemplazan por los de la Tabla

Figura 2. Los encabezados de las columnas se reemplazan por los de la Tabla.

3. Opciones de estilo

Con respecto a las opciones de estilo, podemos cambiar diferentes características de la Tabla a manera de evitar hacerlo de manera manual. Podemos cambiar desde opciones de diseño, como asignar una fila adicional donde podremos hacer cálculos en las diferentes columnas.

Podemos intercalar entre diferentes opciones de estilo de formato y cálculos.

Figura 3. Podemos intercalar entre diferentes opciones de estilo de formato y cálculos.

4. Slices

De las opciones que más me gustan es que podemos asignar Slices (segmentación de datos) para poder filtrar los datos de manera más dinámica.

Los Slices nos ayudarán a filtrar datos de manera dinámica.

Figura 4. Los Slices nos ayudarán a filtrar datos de manera dinámica..

5. Origen dinámico de Tabla dinámica.

Y sin duda, la característica clave de las Tablas es que si hacemos una Tabla dinámica ya no necesitaremos cambiar el tamaño de nuestro origen de datos, ya que si añadimos información nueva a la Tabla, ésta tomará el nuevo tamaño y bastará con actualizar la Tabla dinámica para tomar los nuevos datos.

La Tabla dinámica tomará como rango el nombre de la Tabla, por lo que no será necesario cambiar tamaño.

Figura 5. La Tabla dinámica tomará como rango el nombre de la Tabla, por lo que no será necesario cambiar tamaño.


Usar un rango de celdas como criterio para CONTAR.SI, combinado con SUMAPRODUCTO en Excel

$
0
0

Caso:  Tengo un lista de claves las cuales quiero saber la suma total de las repeticiones que tuvieron dentro de otra lista.

Este caso en cuestión me fue planteado como una necesidad de saber cuántas veces se repiten n cantidad de claves dentro de otro rango. Mi primera reacción fue usar CONTAR.SI, pero cuando me dijo que eran muchas claves, seguí con la idea de CONTAR.SI, pero debía combinarla con otra función, para hacerlo en solo paso.

Video tutorial

Primer intento. Usando una columna auxiliar

Usando llanamente la función CONTAR.SI, al principio propuso usar una columna auxiliar donde hiciera la cuenta de las repeticiones por clave y al final de la columna hacer una suma. Esta solución es aceptable, pero yo siempre digo “entre menos, menor”, por lo cual debía de buscar la manera de hacerlo sin columna auxiliar.

Usamos la función CONTAR.SI para hacer un conteo de las apariciones de cada clave dentro de la columna G

Figura 1. Usamos la función CONTAR.SI para hacer un conteo de las apariciones de cada clave dentro de la columna G.

Segundo intento. Combinando CONTAR.SI con SUMAPRODUCTO

Según la definición del mismo Excel, la función SUMAPRODUCTO es la suma de los productos de rangos o matrices.

Entendiendo lo anterior, si asigno un rango de celdas, en este caso todas las claves de la columna D, como parámetro criterio, recorrería cada fila del rango y al final me daría una suma de todos los productos.

Te puede interesar: Uso de SUMAPRODUCTO para armar tabla de calificaciones con ponderaciones en Excel.

Primero usamos la función SUMAPRODUCTO. Esta función me pide como parámetro una matriz1, la cual será la resultante de la función CONTAR.SI. Quedando de la siguiente manera:

=SUMAPRODUCTO(CONTAR.SI(G2:G951,D2:D6))

En la Figura 2 vemos las funciones en uso.

Combinamos las funciones SUMAPRODUCTO y CONTAR.SI para obtener la suma tota de las apariciones de todas las claves de la columna D en la columna G.

Figura 2. Combinamos las funciones SUMAPRODUCTO y CONTAR.SI para obtener la suma tota de las apariciones de todas las claves de la columna D en la columna G.

Descarga el ejemplo

Descarga el ejemplo usado este artículo: Rango de celdas como criterio en CONTAR.SI.rar

Formularios más amigables con la propiedad ControlTipText en Excel vba

$
0
0

Cuando desarrollamos formularios en Excel siempre debemos buscar que éstos sean lo más amigables posible al usuario final, o por lo menos es lo que yo sugiero. Una de las propiedades que nos permitirán que sea más fácil usar un formulario es la propiedad ControlTipText. Esta propiedad hará que se muestre un mensaje flotante al momento de poner el curso sobre un Control.

Para este ejemplo tenemos un formulario que hará una suma de dos operadores. Ambos operadores serán el valor de dos TextBoxes.

Formulario para realizar una suma

Figura 1. Formulario para realizar una suma.

Mira el video

Ahora lo que buscamos es que se muestren ayudas visuales al momento de pasar el cursor sobre un Control. Estas ayudas harán que sea más fácil al usuario saber qué valores ingresar en algún control o saber qué se hará al momento de presionar un botón.

La propiedad ControlTipText se muestra al momento de pasar el curso sobre un Control

Figura 2. La propiedad ControlTipText se muestra al momento de pasar el curso sobre un Control.

Código vba de la macro

La propiedad ControlTipText se puede asignar a cualquier control incrustado en un formulario, no así cuando el control está incrustado en una hoja.

Usaremos el evento UserForm_Initialize del Formulario, para asignar diferentes texto a los controles del formulario mediante la propiedad ControlTipText.

Private Sub UserForm_Initialize()
'
'Hacemos uso de la propiedad ControlTipText
Me.txtNumero1.ControlTipText = "Ingresa el primer número"
Me.txtNumero2.ControlTipText = "Ingresa el segundo número número"
Me.btnSuma.ControlTipText = "Clic para sumar"
'
End Sub

La siguiente macro será asignada al botón para hacer la suma. Nótese que también usamos la propiedad ControlTipText en la etiqueta que muestra el resultado de la suma.

'---------------------------------------------------------------------------------------
' Module    : UserForm1
' Author    : MVP, Sergio Alejandro Campos
' Date      : 13/06/2016
' Purpose   : Uso de la propiedad ControlTipText
'---------------------------------------------------------------------------------------
'
Private Sub btnSuma_Click()
'
'Asignamos valores a las variables
Num1 = Val(Me.txtNumero1.Value)
Num2 = Val(Me.txtNumero2.Value)
'
'Asignamos valor a la variable Suma
Suma = Num1 + Num2
'
'El resultado de la suma lo asignamos a la etiqueta.
Me.Label1.Caption = Suma
'Asigamos un texto personalizado a la propiedad ControlTipText
Me.Label1.ControlTipText = "La suma es: " & Me.Label1.Caption
'
End Sub

Descarga el archivo de ejemplo

Descara el archivo usado en este artículo: Formularios más amigables con la propiedad ControlTipText en Excel vba.rar

Macro para mostrar los complementos (addins) de Excel y sus características

$
0
0

Hace un par de días me preguntaron cómo saber dónde se encuentra alojado el archivo de un add-in instalado en Excel. En este artículo y video veremos la manera de hacerlo de manera manual y mediante macros.

Te puede interesar: Instalar EXCELeINFO add-in o cualquier complemento de Excel.

Mostrar características de los complementos de Excel

Los complementos o add-ins de Excel son una herramienta muy valiosa para darle poder a Excel y a nuestras hojas de cálculo. Para mostrar los complementos que tenemos disponibles en Excel, ya sea activados o desactivados no dirigimos a Archivo > Opciones > Complementos > Ir. Se mostrará un formulario donde podemos ver cuáles tenemos disponibles en Excel y además podemos ver cuáles están activos o no, además de poder instalar nuevos.

La casilla activada nos dice que el add-in está instalado y activo.

Figura 1. La casilla activada nos dice que el add-in está instalado y activo.

Pero si lo deseamos es ver más características de los complementos como Nombre de archivo, Ubicación, Descripción, entre otras, nos dirigimos a Archivo > Opciones > Complementos.

En estas secciones vemos el nombre, ubicación y tipo de complemento, además de las características.

Figura 2. En estas secciones vemos el nombre, ubicación y tipo de complemento, además de las características.

Ver video

Hacer lista de complementos con Macros vba

Ahora bien, si por alguna razón requerimos enlistar los complementos que tenemos en Excel mediante macros vba, haremos uso de la colección Addins para recuperar algunas características como:

  • Nombre (Name).
  • Título (Title).
  • Saber si está instalado (Installed).
  • Ubicación (Path).
  • Saber si está abierto (IsOpen).
  • Entre otros.

Lista de complementos disponibles en nuestro Excel.

Figura 3. Lista de complementos disponibles en nuestro Excel.

Código de la macro VBA

'---------------------------------------------------------------------------------------
' Module    : Módulo1
' Author    : MVP, Sergio Alejandro Campos
' Date      : 22/06/2016
' Purpose   : Hace una ista de los add-ins diponibles en Excel.
' Web       : http://www.exceleinfo.com
' Canal     : https://www.youtube.com/user/sergioacamposh
'---------------------------------------------------------------------------------------
'
Option Explicit

Sub ListarAddins()
'Declaramos variables
Dim fila As Integer
Dim a As AddIn
'
ActiveWorkbook.Sheets(1).Range("A8").CurrentRegion.Clear
'
'Ponemos títulos
Range("A8:E8") = Array("Nombre", "Título", "Instalado", "Ruta", "Comentarios")
fila = 9
'
'Recorremos cada add-in
For Each a In Application.AddIns
    '
    On Error Resume Next
    With Sheets(1)
        '
        .Cells(fila, 1) = a.Name
        .Cells(fila, 2) = a.title
        .Cells(fila, 3) = a.Installed
        .Cells(fila, 4) = a.Path
        .Cells(fila, 5) = a.Comments
        '
    End With
    '
    On Error GoTo 0
    '
    fila = fila + 1
    '
Next a
'
ActiveWorkbook.Sheets(1).Range("A8").Select
'
'Damos formato de Tabla
With ActiveSheet
    .ListObjects.Add().Name = "tabla"
    .ListObjects("tabla").TableStyle = "TableStyleMedium7"
    .ListObjects("tabla").Unlist
End With
'
End Sub

Descarga el ejemplo

Descarga el archivo usado en este artículo: Listar addins en Excel con vba.rar

Conociendo los Subtotales en Excel

$
0
0

Subtotales en Excel

Los Subtotales en Excel nos permiten crear resúmenes de datos en base a filas, con la facilidad de poder resumir la información con las funciones más usadas en Excel: Suma, Recuento, Promedio, Máx., Mín., Producto, entre otras.

Ver Video tutorial

Antes de empezar

Para poder usar el comando Subtotal en Excel, debemos tener en cuenta lo siguiente antes de empezar:

Subtotal no puede usarse en Tablas de Excel. Para usarlo, debemos convertir la tabla en rango, de lo contrario el ícono de Subtotal aparecerá sombreado. En caso de aplicar, elegimos una celda de la Tabla y nos vamos a Diseño > Convertir en rango.

Antes de usar el comando Subtotal en Excel, debemos convertir una Tabla en rango.

Figura 1. Antes de usar el comando Subtotal en Excel, debemos convertir una Tabla en rango.

Ordenar la columna que se tomará como base. Ya que se crear secciones por fila única, será necesario ordenar la columna. En nuestro ejemplo ordenaremos en base a la columna SUCURSAL. Para ordenar elegimos cualquier celda de la columna y nos vamos a Datos > AZ.

Ordenamos nuestros datos por la columna en que se basarán los Subtotales.

Figura 2. Ordenamos nuestros datos por la columna en que se basarán los Subtotales.

Crear esquemas con Subtotales

Una vez validado lo anterior, procedemos a insertar los Subtotales. Seleccionamos nuestro rango de celdas y vamos a Datos > Subtotal. Se mostrará un formulario en el que elegiremos lo siguiente:

  • Para cada cambio en: La columna previamente ordenada que se usará como base para aplicar los Subtotales.
  • Usar función: elegir la función que se aplicará a los datos.
  • Agregar subtotal a: elegiremos las columnas en las cuáles queremos aplicar un resumen. El resumen será en base a la función elegida en la opción anterior.
  • Reemplazar subtotales actuales: si hay subtotales aplicados, al marcar la opción se eliminarán y se comenzará de cero.
  • Salgo de página entre grupos: marcar esta opción si lo que deseas es imprimir por concepto (en base a la columna elegida).
  • Resumen debajo de los datos: Al marcar la opción, el resumen quedará debajo de los datos, caso contrario quedarán arriba.

Este formulario nos muestra diferentes maneras de armar nuestros Subtotales.

Figura 3. Este formulario nos muestra diferentes maneras de armar nuestros Subtotales.

Al darle Aceptar en el formulario vemos cómo se creó un esquema con el resumen de nuestros datos. Los cálculos se harán en las columnas numéricas y será para entender las ventas por Sucursal y Trimestre.

En este esquema vemos el total de ventas por Sucursal y Trimestre.

Figura 4. En este esquema vemos el total de ventas por Sucursal y Trimestre..

Botones de esquema

Ahora bien, una de las cualidades la herramienta Subtotal en Excel es que tendremos disponibles los botones de esquema que nos permitirán expandir información de cada una de las filas, así como contraer la información hasta ver un total general.

Subtotales y esquemas en Excel

Figura 5. Subtotales y esquemas en Excel

Descarga el ejemplo

Descarga el ejemplo usado en este artículo: Subtotales en Excel.rar.

Liberado EXCELeINFO add-in 4.2 #SéUnExpertoEnExcel

$
0
0

EXCELeINFO add-in

“Desde el 2010 EXCELeINFO add-in ha tenido un único propósito: “Optimizar tiempo en Excel”.

:: Descarga EXCELeINFO add-in.

Es por lo anterior, que con gusto les presento una nueva versión de mi add-in, donde le he añadido algunas opciones que seguramente te serán útiles, así como accesos directos hacia recursos que harán de ti un experto, como mi Blog y mi canal de Youtube.

Herramientas añadidas en la versión 4.2

► Accesos directos a mis recursos para que sean un experto en Excel

La opción de guardar páginas en Favoritos es buena, pero por qué no, tener los recursos de EXCELeINFO a la mano y acceder a ellos en cualquier momento. He añadido botones que te llevan a los recursos con que dispongo para que seas un experto en Excel.

Accesos directos a recursos para que seas un experto en Excel.

Figura 1. Accesos directos a recursos para que seas un experto en Excel.

► Retoque en menús y botones

Para darle una apariencia más limpia a los botones y menús he reemplazados los iconos principales por otros que tienen otro tipo de fuente, además de verse más estilizados. Además de darle un retoque a los menú, añadiendo subtítulos para hacerlos más legibles. Este mismo cambio también aplica para el menú que se arroja con el clic derecho, mismo que sufrió un campo al añadirle un nuevo ícono.

Se añaden subtítulos a los menús para hacerlos más legiles

Figura 2. Se añaden subtítulos a los menús para hacerlos más legiles.

► Archivos >> Guardar hojas en archivos separados

Ver Video

Cuando majemos muchas hojas en nuestros archivos, en más de alguna ocasión hemos necesitado que cada una de esas hojas se un archivo independiente. Con esta herramienta tendrás la facilidad de elegir aquellas hojas que requieras guardar individualmente, así como tener la opción de elegir el tipo de archivo en que se guardarán. Las opciones de tipo de archivo son:

  • Libro de Excel (.xlsx).
  • Libro de Excel habilitado para macros (.xlsm)
  • Libro de Excel 97-2003 (.xls).
  • Texto (delimitado por tabulaciones) (.txt).
  • CSV (delimitado por comas) (.csv).

Guardar hojas en archivos separados

Figura 3. Guardar hojas en archivos separados.

► Datos >> Actualizar todas las Tablas dinámicas

Ver Video

Si eres de los que acostumbran tener varias Tablas dinámicas en un archivo de Excel, ésta herramienta es para ti. Para no tener que elegir la opción Actualizar en cada de tus Tablas, puedes actualizar todas desde un mismo lugar, además de tener la opción de que las mismas Tablas queden configuradas para que se actualicen al abrir el archivo.

Ahorra tiempo en Excel actualizando todas las Tablas dinámicas en un solo paso.

Figura 4. Ahorra tiempo en Excel actualizando todas las Tablas dinámicas en un solo paso.

► UDF EXCELeINFOPRIMERVALOR

Ver Video

Añado una función personalidad (UDF) al set de funciones que trae EXCELeINFO add-in, la cual llamo EXCELeINFOPRIMERVALOR. Esta función nos devolverá el primer valor encontrado de un rango de celda, siempre y cuando sea diferente al valor definido en el segundo argumento de la función:

[A1] = EXCELeINFOPRIMERVALOR(B1:G1,”N/A”)

La función devuelve el primer valor encontrado diferente a "N/A"

Figura 5. La función devuelve el primer valor encontrado diferente a “N/A”.

► Se optimiza Insertar >> Insertar filas y columnas

Haciendo pruebas con grandes cantidades de datos, me di cuenta que al momento de insertar muchas filas o columnas no se aplicaba la macro eficazmente, fue así que revisé el código y lo optimicé para que sea una herramientas más efectiva.

Insertar n cantidad de filas y/o columnas

Figura 6. Insertar n cantidad de filas y/o columnas.

► Rangos >> Seleccionar filas y columnas

Ver Video

Esta es de las herramientas que más me ha ahorrado tiempo al momento de trabajar datos. Basta con que diga la cantidad de celdas a elegir y la macro hace el proceso por mi. De otro modo para elegir n cantidad de celdas tendría que irme de una por una hasta dar con la cantidad exacta de celdas que quisiera elegir.

Seleccionar celdas en Excel nunca fue tan fácil

Figura 7. Seleccionar celdas en Excel nunca fue tan fácil.

► Rangos >> Autoajustar ancho de columna (Ctrl + M)

Ver Video

La herramienta de Excel llamada Autoajustar ancho de columna he decidido añadirla a EXCELeINFO add-in, pero con una mejora: ya que la herramienta no cuenta con un método abreviado de dos teclas he decidido añadirlo mediante macros, por lo que vez que se presione [Ctrl] + [M] el ancho de las columnas se ajustará al tamaño de la celda con el texto más largo.

Otros cambios y bug fixes

► Preguntar sobre si la opción Pantalla completa se mantiene activa aún después de cerrar el formulario Opciones de vista

Ver Video

Como sabemos, el formulario Opciones de vista tiene acceso a las configuraciones comunes en Excel y las hojas de cálculo. Cuando se marcaba la opción Pantalla completa y luego cerraba el formulario se mantenía la Pantalla completa, por lo que decidí agregarle la pregunta de si se desea continuar con pantalla completa.

Ahora cada que se elija Pantalla completa, se pedirá confirmación para mantener la opción activa

Figura 8. Ahora cada que se elija Pantalla completa, se pedirá confirmación para mantener la opción activa.

► Se corrige un error: Al usar la herramienta Renombrar archivo activo y se cancelaba, la propiedad DisplayAlerts quedaba apagada provocando que Excel ya no envíe avisos.

DESCARGA

:: Descarga EXCELeINFO add-in.

Viewing all 466 articles
Browse latest View live