miércoles, 21 de diciembre de 2016

Excel VBA Macro: Optimizar Macros en Excel II

-Con Menos código la macro se ejecutara más rápido siendo más fácil de entender y modificar. Sera más rápida de ejecutar y mejora la experiencia del usuario.

-Analiza la lógica antes de programar

-Usar la instrucción WITH para resumir el código además de que esto facilita cambios.

-Evitar la instrucción. SELECT casi nunca es necesario para operar en algún objeto.

-Evitar loops tal vez alguna función incorporada del Excel o el VBA ya hace lo que buscas...
no traten de reinventar la pólvora…sobre todo porque no se ejecutará más rápido que una
función nativa .

Usar Option Explicit al inicio de los módulos para obligar a declarar las variables.


Evitar el uso de Variant.

martes, 13 de diciembre de 2016

Excel Vba Macro: Optimizar Macros En Excel


Una primera medida puede ser desactivar la actualización de pantalla 
...en las primeras líneas

 Application.screenupdating=False
No debes olvidar colocarlo en True al finalizar el procedimiento
 Application.screenupdating=True

Apagar los eventos automáticos
Lo hacemos con la instrucción: 
Application.EnableEvents=False
Evita ejecutar macros de evento

Apagar visualización de saltos de página
Lo hacemos con la instrucción: ActiveSheet.DisplayPageBreaks = False
Esto  evita problemas entre macros Excel 2003 vs. 2007/2010



Sub Macro_Jes_Test

'Así debiera comenzar tu macro
Application.screenupdating=False

Application.calculation=xlCalculationManual
Application.EnableEvents=False

'Code ccc
Code ddd
'Code eee

'Así  debiera  finalizar

Application.screenupdating=True
Application.calculation=xlCalculationAutomatic
Application.EnableEvents=true

End Sub

martes, 6 de diciembre de 2016

Proteger y Desproteger Hojas VBA - Excel


'La siguiente macro permite proteger y desproteger todas las hojas de un libro

Const myClave = "MyClave123"

'for each
'Protect---> clave
'unprotect--->clave
'...

'excel vba macro:proteger todas las hojas
Sub protegerHojas()

Dim sht As Worksheet

For Each sht In Sheets

sht.Protect Password = myClave

Next

End Sub

'excel vba macro:Desproteger todas las hojas
Sub DesprotegerHojas()

Dim sht As Worksheet

For Each sht In Sheets

sht.Unprotect Password = myClave

Next

End Sub



lunes, 28 de noviembre de 2016

Excel VBA - Usar Compare Text

Usar compare text

Incluya la Opción compare text en la parte superior de cada módulo
para comparar texto sin importar las mayúsculas o minúsculas
*El valor por defecto diferencia entre mayúsculas y minúsculas

Al comparar el valor de una celda hará diferencia entre  “YES”, o “Yes” o “YeS”.

Por defecto en VBA las comparaciones son binarias. Ósea, "sí" ≠ "Sí

De igual forma podrías colocar Ucase  al  valor de la celda a comparar. Así tenemos los 2 valores en mayúsculas.

If UCASE(Target. Value) = "SI" Then

'hacer esto

End if

De todas formas me parece, más simple colocar

Option Compare Text


en la primera línea de cada módulo

miércoles, 16 de noviembre de 2016

VBA Tips

1-Abrir la ventana de inmediato, ubíquese sobre el explorador de proyectos VBA presionar CTRL+G
Esta ventana nos permite inspeccionar el valor de las variables sin tener que ejecutar una macro.

?numeroValue

2-Abrir explorador de objetos, presionar F2
Esta ventana nos permite conocer toda la jerarquía de objetos de Excel VBA
ObjetoParent.ObjetoHijo.ObjetoHijoHijo

Realice las siguientes pruebas en la ventana de inmediato
?ActiveCell.Parent.parent.parent.name
Microsoft Excel
Libro1
Hoja1

Luego corrobore la jerarquía en el explorador de objetos F2

3-Evitar que se cierre un libro habilitado para macros
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = True
MsgBox "No se puede cerrar Excel."

End Sub


lunes, 14 de noviembre de 2016

Excel 2016 - Cómo solucionar el error "falta api-ms-win-crt-runtime-l1-1.0.dll" para Excel

Mensaje de error en Excel 2016-Instalación: El programa no se puede iniciar porque api-ms-win-crt-runtime-l1-1.0.dll falta en su computadora ...

Cómo solucionar el error "api-ms-win-crt-runtime-l1-1.0.dll falta" para Excel 2016:
1.Cerrar Excel. Intente instalar todas las actualizaciones de Windows pendientes. Vaya a Inicio; Panel de control; Windows Update ...Revise las actualizaciones e instale todas las actualizaciones pendientes y reinicie el equipo.
2. Intente volver a instalar o reparar la office (Excel) para solucionar este problema,
3.Solución recomendada:
Ir...Actualización para Universal C Runtime en Windows 
https://support.microsoft.com/en-us/kb/2999226
Seleccione la actualización para su versión de Windows (32 o 64 bits) ... y finalmente reinicie su Excel.

miércoles, 9 de noviembre de 2016

Excel VBA Code Macro : Recuperar unidades de Disco duro mediante Macros

Para conseguir recuperar las particiones en Excel debe realizar las siguientes acciones:

-Agregar la referencia a Microsoft Scripting.FileSystemObject
-Recuperar y navegar en la colección de los discos y escribir las propiedades en las celdas.


Sub Read_Drives_In_Excel_VBA()

'Excel VBA CODE-MyExcelTools.com

On Error Resume Next

Dim fso
'Declare the variable

'Set the object type Scripting
Set fso = CreateObject("Scripting.FileSystemObject")

'Set the drives collection
Set Drives = fso.Drives

Dim count As Byte

For Each u In Drives
'Recorremos la colección

'Drive
Columns(1).Cells(1).Offset(count, 0).Value = u.DriveLetter

'Free Space
Columns(2).Cells(1).Offset(count, 0).Value = FormatNumber(u.AvailableSpace / 1024 / 1024 / 1024, 2, , , -1)


count = count + 1


Next

'clear the objects
Set Drives = Nothing
Set fso = Nothing
End Sub




lunes, 7 de noviembre de 2016

Excel VBA Macro: Ejecutar una macro para control de versiones

Tal vez compartes el trabajo sobre un modelo Excel en particular con varias personas (y deseas saber quién modifico el archivo)

Mediante el objeto FileSystemObject  agregaremos una referencia ..esto nos permite trabajar con archivos
Cualquier instalación de Excel con las características VBA instaladas puede acceder a esta libreria.
Podemos  leer, escribir, borrar, etc.,  archivos y carpetas.

Obtendremos información como:
Fecha de creación de un fichero Excel.
Fecha de la última modificación de un archivo Excel
Fecha del último acceso a un fichero Excel (corriendo sobre el archivo abierto)

Además puedes capturar el usuario y grabarlo en una hoja muy oculta cada vez que presiona el botón guardar…
'¿Application.UserName
'Son Goku

Sub Check_File()
'Esto es solo una idea puedes hacer por tu propia cuenta y riesgo miles de mejoras cambios, pruebas,etc

On Error Resume Next

Dim o_file As Object, o_fso As Object, FullPath As String
Dim last_acces As String, last_change As String, date_creation As String

FullPath = ActiveWorkbook.FullName 'La ruta completa de mi libro
Set o_fso = CreateObject("Scripting.FileSystemObject") 'creo el objeto fso
Set o_file = o_fso.GetFile(FullPath)

date_creation = o_file.DateCreated
last_change = o_file.DateLastModified
last_acces = o_file.DateLastAccessed

Range("C1") = "Heading"

If Err.Number <> 424 Then

Range("C2") = "Date_creation: " & date_creation
Range("C3") = "Last_change: " & last_change
Range("C4") = "Last_acces: " & FormatDateTime(last_acces) ', vbShortDate)

Else
Range("C2") = "Creación: " & Err.Description
Range("C3") = "Modificación del fichero: " & Err.Description
Range("C4") = "Último acceso: " & Err.Description
End If

Set fso = Nothing
Set archivo = Nothing
End Sub





miércoles, 2 de noviembre de 2016

Buscar Valor en una lista VBA Excel Macro - WorksheetFunction

'Mediante la siguiente macro puede hallar un valor parámetro en una lista de datos
'adicionalmente podría mejorarla personalizar la macro y pintar cada coincidencia de un color 'diferente

Sub TestYisus()

'Dim LastRow As Long
'get last row used
'LastRow = Range("C1").End(xlDown).Row


'Buscar Valor en na lista VBA Excel Macro
Dim RangoLista As Range, CeldaParametro As Range

Set RangoLista = Range("B2:B5")

Set CeldaParametro = Range("C2")

If Application.WorksheetFunction.CountIf(RangoLista, CeldaParametro) > 0 Then
    MsgBox "Se encontro el parametro " & CeldaParametro.Value & ", Direccion: " & CeldaParametro.Address(False, False) & " en la lista " & RangoLista.Address(False, False)
Else
    MsgBox "Valor no encontrado"
End If

End Sub


lunes, 31 de octubre de 2016

Excel Convertir celda con valor fecha y hora - a formato de fecha simple

Sub RunTheFechaJesMain()
'macro para convertir fecha y hora a formato de fecha simple

Dim fecha As Date

'paso la celda con fecha como parametro
fecha = TheFecha(ActiveCell)

ActiveCell.Offset(0, 1).Value = fecha

'asignar formato deseado:
ActiveCell.Offset(0, 1).NumberFormat = "m/d/yyyy"

End Sub


Function TheFecha(TheCelda As Date) As Date

TheFecha = DateSerial(Year(TheCelda), Month(TheCelda), Day(Celda))

End Function



jueves, 27 de octubre de 2016

Graficos(Chart) - Excel - Excel Charts

Jerarquia de la aplicacion para los charts:
'Application
'Workbook
'Worksheet
'ChartObjets Chart
'Conociendo esta estructura para el modelo de objetos - grafico 'podra acceder a un gráfico determinado para modificarlo
'Activar un gráfico mediante su índex correspondiente.Es decir el 'número de índex que le corresponde dentro de la colección.
'Un ejemplo sencillo seria el activar el chart número 3 de su hoja..'(..Claro siempre que exista)
ActiveSheet.ChartObjects(3).Activate
'De igual manera puede eliminar al chart de índex 2 .
'Eliminar un chart determinado
ActiveSheet.ChartObjects(2).Delete
''Cambiar el nombre a un chart determinado
ActiveChart.Parent.Name = "ChartEnero"
'Cambiar el título de un chart
ActiveChart.ChartTitle.Text = "ChartVentas"
'Activando un gráfico mediante su nombre
Activesheet.Chartobjects("ChartVentas").activate
'Recuperar el nombre del chart activo
Msgbox ActiveChart.Name
'Te devolverá una cadena de esta forma primero la referencia a la 'hoja y luego el nombre del chart.
Hoja1 Gráfico 1
Msgbox ActiveChart.parent.Name
'Te devolverá ...solo el nombre del chart.

Excel VBA - Método SpecialCells

Devuelve referencias a rangos con determinadas características:
Por ejemplo podemos obtener referencias a rangos con errores, valores numéricos, texto, etc.
-Sintaxis para obtener un objeto rango de las celdas
Rango(RangodeCeldas).SpecialCells(Type, Value)
El rango de celdas es de donde se quiere buscar las celdas con determinadas características.
Los Parámetros serían los sgtes:
Type: parámetro obligatorio que representa el tipo de Celdas.
----
Value: parámetro Opcional
-----
Si el parámetro "Type" es (xlCellTypeConstants) o (xlCellTypeFormulas), el parámetro "Value" servirá para determinar qué tipos de celdas que se incluirán en el rango devuelto.
a) Type: Las constantes para los tipos de celdas a buscar.
xlCellTypeBlanks. Celdas vacías.
xlCellTypeComments. Celdas que contengan notas.
xlCellTypeConstants. Celdas que contengan constantes.
xlCellTypeFormulas. Celdas que contengan fórmulas.
xlCellTypeLastCell. La última celda del rango.
xlCellTypeVisible. Todas las celdas visibles.
b) Value:Las Constantes para el segundo parámetro opcional.
Permitirá refinar nuestra búsqueda de celdas especiales.
xlErrors,xlLogical, xlNumbers,xlTextValues
Set rng = Range(TuRango).SpecialCells(xlCellTypeFormulas, xlErrors) 'formulas con error
MsgBox rng.Address

Trabajar con varios objetos

En ocasiones tenemos numerosos objetos en la hoja (gráficos, imágenes, formas, etc.)
Y necesitamos manipular alguna propiedad o el tamaño en todos.
1. Seleccionamos uno de los objetos.
2. Presionamos [CTRL] + [SHIFT] + [BARRA ESPACIADORA]
3. Una vez que todos los objetos estén seleccionados procedemos a modificar o eliminar [Tecla Supr para borrar todos].


Como evitar que se cierre tu libro (sin guardar cambios)

Deberás guardar tu libro como: 
1. Libro habilitado para macros
2. Presiona ALT + F11
3. Ubica el evento BeforeClose (ver captura) y añade el código

Encontrar duplicados Excel

Encontrar duplicados fácilmente:
Ir a Ficha Inicio > -Formato Condicional >
-Resaltar reglas de Celdas > -Duplicar Valores

Trabajar con Hojas Ocultas y muy Ocultas

Adicional al metodo estandar de ocultar hojas tambien  podemos trabajar con hojas muy ocultas (esto sera muy util apra datos
que no queremos que sean visibles y menos modificados por los usuarios

Presionamos ALT + F11
Luego desde el explorador de proyectos VBA -> Seleccionamos la hoja ->ubicamos su propiedad visible y seleccionamos
2-XlsheetVeryHidden






Plantillas de gráficos en Excel:

Una de las formas de ahorrar en tiempo en Excel es guardando los formatos de gráfico para futuras sesiones.
Guardar plantilla...Clic derecho en el gráfico 
(Esto genera una plantilla .crtx reutilizable en nuevos gráficos)
Para reutilizar la plantilla...Clic derecho en el gráfico cambiar tipo >Ir a sección Plantillas>Elegir la plantilla.crtx

Crear e instalar el Complementos:

La utilidad será que las funcionalidades estarán disponible para todos los libros y será más fácil de compartir.
Crear:
Lo que haremos será guardar nuestro libro de código como Complemento de Excel.
clic en la ficha Archivo y selecciona la opción Guardar como MiComplemento.xlam
Se debe generar un archivo MiComplemento.xlam (en la ruta seleccionada)
Instalar:
Para hacer la instalación debes ir a la ficha Archivo > Opciones>Complementos y deberás pulsar el botón Ir> seleccionar el complemento…clic en OK

Corregir problemas al ordenar datos por fechas:

1. Verifique que toda la columna tenga el mismo formato de fecha
2. Asegúrese de que ningún dato tenga espacios al inicio o al final (esto podría convertir el dato a tipo texto)

Trabajar con Colores en Excel:

Paleta de colores:
Conjunto de 56 colores (sigue disponible…eran los colores estándar para versiones anteriores a Excel 2007).
*Si en tu libro predominan los colores de paleta de colores podrás seguir usando esta característica.
*Excel permite manejar los 2 esquemas (Paleta y Tema de colores)
Tema de colores:
A partir de Excel 2007 se integró el concepto de tema de colores:
10 colores primarios y sus diferentes tonalidades


Trabajar con Colores en Excel - VBA

Trabajar con Colores en Excel - VBA
Sub Thema_de_Colores()
Dim i_colores_del_tema As Integer, Rng_A_pintar As Range
i_colores_del_tema = ActiveWorkbook.Theme.ThemeColorScheme.Count
For i = 1 To i_colores_del_tema
Range("B1").Offset(i, 0).Interior.Color = ActiveWorkbook.Theme.ThemeColorScheme(i) 'ThemeColorSchemeIndex(i)
Next
End Sub
'...................................................................
Sub Paleta_de_Colores()
Dim i_colores_de_paleta As Integer, Rng_A_pintar As Range
i_colores_de_paleta = 56
For i = 1 To i_colores_de_paleta
Range("A1").Offset(i, 0).Interior.Color = ActiveWorkbook.Colors(i) 'ThemeColorSchemeIndex(i)
Next
End Sub

Macro para evitar que se guarden nuevos cambios en un archivo Excel.

Macro para evitar que se guarden nuevos cambios en un archivo Excel.

*Esto sería especialmente útil al compartir el libro con terceros.
-Buscar el evento Workbook_BeforeSave y colocar el código

-Proteger el proyecto VBA con clave.

-Guardar el libro como .XLSM (Libro habilitado para macros)


Listar Archivos Excel VBA Macros:

Listar Archivos:
La siguiente macro lista los archivos de una carpeta (parámetro)
Sub Recuperar_lista_principal()
Dim s_TuRuta
s_TuRuta = "C:\Users\Jesus\Desktop\PaginasFacebbokMyExcelTools\"
Call Mostrar_Archivos(s_TuRuta)
End Sub
'______________________________
Sub Mostrar_Archivos(s_ruta)
Dim fso, carpeta As Object, o_archivo As Object
Dim o_subcarpeta As Object, i_avanza As Integer
i_avanza = 0
Set fso = CreateObject("Scripting.FileSystemObject")
If s_ruta = "" Then
Exit Sub
ElseIf Right(s_ruta, 1) <> "\" Then
s_ruta = s_ruta & "\"
End If
On Error GoTo Salir
Set carpeta = fso.GetFolder(s_ruta)
For Each o_archivo In carpeta.Files
i_avanza = i_avanza + 1
Range("A1").Offset(i_avanza, 0).Value = s_ruta & o_archivo.Name
Next
For Each o_subcarpeta In carpeta.SubFolders
Mostrar_Archivos (o_subcarpeta)
Next
Exit Sub
Salir:
MsgBox "No se ha encontrado la ruta", vbInformation, "Listado de archivos"
End Sub

Eliminar Filas vacías en una Base De Datos:

0. Seleccione la Base (A1:C11)
1.0. Clic en la tecla [F5]…
1.1. En el cuadro de dialogo “Ir”…Clic en el botón [Especial…]
1.2. Seleccione la opciòn celdas en blanco…Clic en [Aceptar]
Se han seleccionado las filas en blanco
2.0. Clic en las tecla [CTRL] y en la tecla [ - ] (Al mismo tiempo)

Usando Excel Online - Office 365

Usando Excel Online - Office 365 (desde la cuenta de Outlook o Hotmail)
1. Iniciar sesión desde outlook.live.com
2. Ir al botón de acceso de aplicaciones en línea.
3. Elija la aplicación a emplear (Excel Online)
-Esta característica podría sacarnos de apuros al estar en una PC sin office.
-Nos permite exportar (opcional) una copia como archivo local.
-Elegir editar (opcional) la versión online (Siempre y cuando la versión de Excel local soporte la características de la versión online .Ejemplo SI.CONJUNTO.
-Esta versión del office integra las nuevas funciones de Excel 2016 como SI.CONJUNTO.
*La función SI.CONJUNTO es válida para Excel 2016 en adelante.
-Estos archivos se guardan en el OneDrive y podrás compartirlo con diversos usuarios.

Reduciendo el tamaño de los libros:

En ocasiones es probable que nuestros archivos de Excel se vuelvan considerablemente pesados (“archivo imposible de adjuntar por correo”).
-Puede ser por la cantidad de fórmulas, datos u objetos, gráficos)…para evitar la demora al abrir o guardar podemos realizar algunos correctivos.
-Asegurarnos de eliminar las filas y columnas fuera del límite de datos usados.
(Seleccione las columnas y filas vacías fuera del área de trabajo y de clic derecho [Eliminar].
-Guarde el archivo como Libro binario.
*Según la documentación el libro no perderá ninguna característica.
Archivo>Guardar Como>Libro Binario de Excel (*.xlsb)

Optimizando Excel

En ocasiones el funcionamiento de Excel puede verse ralentizado por diversas causas:
-Instancias de Excel ocultas (consumiendo la memoria)… para verificar este comportamiento puede hacer lo siguiente...
Clic derecho en la barra de estado>Seleccione Administrador de tareas >Procesos (verifique las instancias de Excel.exe abiertas – puede ser necesario cerrar todas y reiniciar la aplicación)
Opcionalmente puede descargar Process Explorer desde la web de Microsoft
https://technet.microsoft.com/…/sysint…/processexplorer.aspx
-Instalaciones dañadas (En ese caso deberá recurrir al disco de instalación y Reparar)
-Librerías dañadas (para eliminar los controles dañados ejecute Temp File Deleter)
https://www.add-ins.com/temp_file_deleter.htm.
Elija la opción que hace referencia a Eliminar archivos EXD (librerías que podrían estar dañadas).
Luego de esto se recomienda reiniciar la pc y reparar office.
-Verifique que no tenga algún complemento o Com Add-in dañado (pruebe deshabilitarlos)
-El problema puede deberse a un libro en particular (Pruebe la frecuencia del problema con diferentes archivos).
-Mantenga su paquete de office con los service pack actualizados.
-Podría existir algún conflicto con el antivirus (manténgalo actualizado).


Reparar un Libro Dañado:

Alguna vez podríamos recibir el mensaje “El contenido del libro está dañado”.Para librarnos de este lió y salvar la info puede realizar las siguientes acciones.
-Mantenga la calma.
-Crea un nuevo libro y pruebe ir moviendo cada una de las hojas desde el libro dañado hacia el libro nuevo.
-Cada vez que mueva una hoja(s) hacia el libro nuevo presione guardar (Así cuando salte el error “Libro dañado” sabrá que encontró la hoja que produce el problema.
Ahora que ya identifico el problema solo debe volver al libro dañado y eliminar esa hoja (será la única que debes reconstruir…todo va a estar bien).
El problema puede tener diversos orígenes .Pero uno podría ser que algún objeto imagen o los hipervínculos hallan provocado el deterioro de alguna hoja (Lo bueno es que el problema a veces solo afecta una hoja… Puede tratar moviendo las hojas de 2 en 2, 4 en 4, son variantes y mejoras del plan para salvar el libro.
En la web podría encontrar métodos alternativos.

VBA VS Visual Studio Tools para Office (VSTO)

En las siguientes líneas un breve paralelo entre 2 caminos para desarrollar aplicaciones para Office.
VSTO es un conjunto de herramientas de desarrollo disponibles en Visual Studio (para crear complementos COM de la suite de office) .Esta disponible desde Office 2003 y permite desarrollar aplicaciones office con igual o mayor flexibilidad que el propio VBA.
Algunas consideraciones:
-Visual Studio permite generar un instalador desde la misma plataforma de Visual Studio.
-Es necesario adjuntar los requerimientos de instalación (PIA Primary Interop Assemblies de la versión de office a usar).
-El código VSTO está menos expuesto a ser vulnerado.
-La posibilidad de VSTO de ejecutar varios hilos en paralelo (correr múltiples procesos al mismo tiempo para ahorrar tiempo).

- VSTO puede invocar una macro y ejecutarla.
-VSTO ofrece un modo hibrido para la creación de cinta de opciones (XML y Diseñador de ribbon).
-Compatibilidad entre aplicaciones de 32 y 64 bits.
-En VSTO no tendrá la grabadora de macros como ayuda.
-VSTO además de los formularios permite la creación de paneles de tareas.
-Curva de aprendizaje, VBA no es 100% similar a VSTO.
-Para agregar la cinta de opciones a una aplicación VBA deberás recurrir al programa Custom UI Editor XML – Luego enlazar los botones.
-El proyecto VSTO permitirá emplear diferentes lenguajes y librerías (VB.NET, C#)
-La plataforma de desarrollo que elija depende de la complejidad de lo que necesite (para una macro que realiza algo muy particular…podría ser suficiente el VBA clásico)

Excel - Recuperación de la Información 1.0:

Excel - Recuperación de la Información 1.0:
En ocasiones Excel podría interrumpir su funcionamiento por diversos problemas. Para recuperar la última versión guardada del libro…
Vaya a Archivo >Opciones>Guardar>Ubique la ruta para el archivo de auto recuperación.
Es posible configurar cada cuanto tiempo se debe guardar (información de auto recuperación).
Estas serían rutas similares a las que debes inspeccionar en tu PC
-Ubicación de Archivo de Auto recuperación:
C:\Users\TuUsuario\AppData\Roaming\Microsoft\Excel\
-Ubicación predeterminada de archivos locales:
C:\Users\TuUsuario\Documents
*Puede ser necesario activar (Opciones de carpeta) mostrar archivos, carpetas ocultos) para visualizar la carpeta "AppData"
Ver enlace (https://www.facebook.com/JMyExceltools/posts/666059726877743:0)

Excel - Recuperación de la Información 1.1:

Complementando lo referente a la visualización de la carpeta [AppData] para la recuperación de libros. Parte1(https://www.facebook.com/JMyExceltools/posts/665240306959685)

Asegúrese de tener marcadas las 2 casillas:
-[Guardar Información de Autorrecuperación – Asigne tiempo en minutos]
-[Conservar la última versión autoguardada cuando se cierra Excel sin guardar]

Para asegurarse de mostrar archivos y carpetas ocultos.
-Vaya a una carpeta cualquiera >luego ubique el menú Herramientas>Opciones de carpeta>Ver>Marque Mostrar archivos, carpetas y unidades ocultos.

*En el caso de que la barra de menú Archivo-Herramientas no fuera visible…colóquese en un lugar vacío de la carpeta >clic derecho >ver barra de herramientas.

Las nuevas aplicaciones para Office

Se puede utilizar de múltiples formas como un panel de tareas, en línea alojada en la nube o en una hoja de cálculo.
.
A diferencia de los complementos no requieren la instalación de código en la máquina del usuario.
Se puede construir aplicaciones para Office con tecnologías web como HTML, CSS, JavaScript, ASP.NET.
Puede construir su aplicación y reutilizarla entre Word y Excel usando HTML5, CSS y JavaScript.
La API de JavaScript (biblioteca de office.js) permite crear de Aplicaciones Web Que interactúan con el Modelo de Objetos en Aplicaciones de Office.
La API de JavaScript incluye objetos, métodos, propiedades, eventos que se pueden usar en el código de los Complementos de Office.
https://msdn.microsoft.com/es-…/library/office/fp142185.aspx
Visual Studio incluye Microsoft Office Developer Tools .Para asegurarse de que tiene la versión más reciente, ejecute el instalador de Office Developer Tools para Visual Studio 2015.
https://msdn.microsoft.com/es-…/library/office/fp179924.aspx
https://beta.visualstudio.com/vs/community/



Completar celdas en blanco – Formato de Base De Datos

1.Selecciona toda la Base De Datos.
2.Presiona [Tecla F5]
3.En el cuadro de dialogo 'Ir a' [clic en el botón Especial...]
3.1.Elegir Celdas en blanco
-Sin perder la selección de celdas en blanco ...
4.Escribe directamente en la barra de fórmulas =A3 ( 'A3' es la celda anterior a la primera celda en blanco de la Base de Datos, A4)
Presiona [CTRL + ENTER] ... Sin perder el foco de la barra de fórmulas.


Crear Lista de validación:

1.Seleccione la celda que desea validar.
2.Vaya al menú
Datos>Validación de datos
En el cuadro de dialogo indique:
Configuración> Criterio de Validación : Lista
-Indique el rango de datos (Origen - Lista de datos personalizada) y acepte.
-La celda con validación solo permitirá valores según la lista definida.
-La idea es emplear maestros de datos y evitar errores.

Estructura de Archivos Excel

Desde Office 2007 se incluyó los formatos (Office Open XML) que comprenden un conjunto de archivos en una carpeta ZIP. Para comprobarlo crea una copia del libro .xlsx y cámbiale la extensión .xlsx por .Zip .
-Luego descomprime y navega en la estructuras de carpetas.Podrás verificar cómo está dividido (archivos XML que delimitan estructuras, contenidos y formatos).
-Si no puede ver la extensión debe ir a Opciones de carpeta > ficha Ver > Desmarcar la casilla Ocultar las extensiones.
El nuevo formato permite:
-Revisar como contenedor de archivos (descomprimir el libro)
-Revisar el contenido de los XML.
-Verificar el XML con comentarios (comments.xml…).
-Acceder a la carpeta media (donde se guardan las imágenes).
-Modificar un archivo XLSX sin tener Excel instalado (directo en el XML).
-Ver la Versión de Excel con que se creo.
-Crear un ribbon XML desde el bloc de notas adjuntando las imágenes.
-Es una forma avanzada de buscar errores (Primero descomprime el archivo y luego verifica cada parte de la estructura hasta encontrar el error)

Errores en librerías y controles Excel:

En ocasiones el funcionamiento de Excel puede verse afectado por daños en librerías (se emplean para controles en VBA).
Haga lo siguiente para reparar los controles y terminar con los mensajes de error:
-Cierre Excel y asegúrese de cerrar todas las instancias.
Clic derecho en la barra de estado>Seleccione Administrador de tareas >Procesos (cierre todas las instancias de Excel.exe abiertas)
Opcionalmente puede descargar Process Explorer desde la web de Microsoft
https://technet.microsoft.com/…/sysint…/processexplorer.aspx
-Ejecute el programa Temp File Deleter…para eliminar los controles dañados
''https://www.add-ins.com/temp_file_deleter..htm.
Elija la opción que hace referencia a Eliminar archivos EXD (librerías que podrían estar dañadas).
-Reinicie la pc.
-Repare Office.
-Mantenga marcadas las opciones referentes a características compartidas de Microsoft Office (esto permite emplear VBA)
https://support.microsoft.com/es-es/kb/281954
-Verifique que no tenga algún complemento o Com Add-in dañado (pruebe deshabilitarlos)
-El problema puede deberse a un libro en particular (Pruebe la frecuencia del problema con diferentes archivos).
-Mantenga su paquete de office con los service pack actualizados.