Entradas

Establecer como área de Impresión todo el rango usado y ajustarlo a una página

Hola, os dejo el código para establecer como área de Impresión todo el rango usado  y ajustarlo a una página: ActiveWorkbook.Worksheets("InformeRF_").PageSetup.PrintArea = Worksheets("Hoja1").UsedRange.Address 'Establecer el rango usado como Area de Impresión ActiveWorkbook.Worksheets("Hoja1").PageSetup.Zoom = False 'Hay que desactivar el Zoom para poder ajustar las paginas ActiveWorkbook.Worksheets("Hoja1").PageSetup.FitToPagesWide = 1 'reduce el tamaño de la hoja (ancho) ActiveWorkbook.Worksheets("Hoja1").PageSetup.FitToPagesTall = 1 'reduce el tamaño de la hoja (alto) Si se quiere ajustar solamente el ancho a una pagina, habría que hacerlo así: ActiveWorkbook.Worksheets("InformeRF_").PageSetup.PrintArea = Worksheets("Hoja1").UsedRange.Address 'Establecer el rango usado como Area de Impresión ActiveWorkbook.Worksheets("Hoja1").PageSetup.Zoom = False 'Hay que desactivar el Zoom para...

Validador de códigos ISIN

Comparto un validador de códigos ISIN. ¿Qué es el código ISIN? El código ISIN (International Securities Identification Number) está desarrollado en el estándar internacional ISO 6166 y se utiliza para la identificación de valores mobiliarios. Es un código que identifica unívocamente un valor mobiliario a nivel internacional y tiene una gran acogida en todos los mercados financieros del mundo, que lo han incorporado a sus procesos de liquidación y custodia. El ISIN es un código de 12 caracteres alfanuméricos con la estructura siguiente: Los dos primeros caracteres corresponden al código país según el estándar ISO 3166 de la Agencia de Codificación que asigna el código o del país del emisor del valor según se trate de valores de renta fija, renta variable, warrants, etc., de acuerdo con lo establecido en el estándar ISO 6166. Los siguientes nueve caracteres forman el número básico que puede contener el código nacional de identificación del valor en cada país. La estructura y tamaño de es...

Validador Codigo LEI

Comparto un validador del Código LEI ¿Qué es el código LEI? El Identificador de Entidad Jurídica (LEI, por sus siglas en inglés) es un código global y único basado en el estándar ISO 17442, que se utiliza para identificar a las personas jurídicas que son parte en las transacciones financieras y para cumplir con los requisitos de información exigidos en los mercados financieros. Esta función sirve para el validar, es decir, devuelve verdadero o falso dependiendo de que el código sea correcto o no: Public Function LEIValidacion(CodigoLEI) As Boolean     ' Recibe el CodigoLEI          Dim letras As String * 36     Dim Dividendo As Integer     Dim resto As Integer          ' Calcula el valor de las letras de los 18 primeros caracteres     letras = "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"          LEI = CStr(InStr(1, letras, Mid(CodigoLEI, 1, 1))) & CStr(InStr(1, letras, Mid(Co...

Validador de NIF / DNI España

  Comparto una función simple para poder obtener la letra del DNI Español. Public Function NIF(DNI As Long) NIF = DNI & "-" & Mid$("TRWAGMYFPDXBNJZSQVHLCKE", (DNI Mod 23) + 1, 1) End Function

Macro para esperar a que un programa deje de ejecutarse

  He adaptado esta macro para cerrar procesos usando VBA, para que una macro espere a que un proceso termine.  https://excelsignum.com/2017/04/09/cerrar-un-programa-desde-excel-con-vba/ En el ejemplo, he puesto el word, pero se podría usar para cualquier programa. Sub Espera_Cerrar_Programa() 'Declaramos variables Dim cObj As Object Dim Programa As Object Dim Proceso As Object Inicio: 'Rellenar ProgramaEjecutado NombrePrograma = winword.exe ProgramaEjecutado = 0 'Realizamos una consulta SQL para verificar si el programa está activo, en proceso. Set cObj = GetObject("winmgmts://.") Set Proceso = cObj.ExecQuery("SELECT * FROM " & "Win32_Process WHERE Name = '" & NombrePrograma & "'") 'Con un For recorremos la consulta para ver si el programa esta ejecutado For Each Programa In Proceso On Error Resume Next     Application.Wait (Now + TimeValue("00:00:02"))     ProgramaEjecutado = 1 On Error GoTo 0 Next ...

Eliminar Hoja si existe usando VBA

Código para eliminar una Hoja si ya existe. Solamente habría que cambiar "Hoja1" por el nombre de la hoja que se desee eliminar. NombreHoja = "Hoja1" For Num = 1 To ActiveWorkbook.Sheets.Count If Sheets(Num).Name = NombreHoja Then Application.DisplayAlerts = False Next Num If Application.DisplayAlerts = False Then Sheets(NombreHoja).Delete Application.DisplayAlerts = True

Eliminar Archivos o Carpetas

Os traigo una macro para Excel que permite eliminar archivos o carpetas. Tened mucho cuidado porque los archivos o carpetas que eliminéis no las podréis recuperar y no van a la papelera de reciclaje. Para que funcione en Excel debemos poner en una columna la rutas que queramos eliminar (por ejemplo la Columna A). La macro va a empezar en la celda que estáis seleccionando (por ejemplo la celda A1) y continuando en las filas siguientes hasta parar en la primera celda que esté en blanco. Este es el código: Sub EliminarArchivo() Ruta = "" Extensión = "" Set Celda = Selection 'Abrir un While que funcione mientras la variable "celda" no este vacia While Celda <> ""     Kill Ruta & Celda.Value &  Extensión       Set Celda = Celda.Offset(1, 0) Wend End Sub Fijaros que la variable  Ruta  está vacía haciendo que se deba poner la ruta entera en la celda (p.e. C:\Prueba\Libro1.xlsx), pero si ponéis la variable  Ruta...